एंड्रॉइड एमुलेटर को कैसे रूट करें (Android 7.1.1 / Nougat)
मैं Android एमुलेटर को रूट करने के लिए एक आसान तरीका के समुदाय को सूचित करने के लिए प्रसन्न हूं (स्टैंडअलोन एंड्रॉइड एसडीके से चलाएं)
आवश्यकताएँ :
नोट: SuperSU अब पदावनत कर दिया गया है, लेकिन यह विधि अभी भी एमुलेटर को रूट करने के लिए काम करती है, और नए रूटिंग विधियों के लिए अधिक अपडेट दिए जाएंगे।
अनुदेश
SuperSu.apk स्थापित करें
सबसे पहले SuperSu ऐप इंस्टॉल करें, बस खींचें और ड्रॉप करें (यदि नवीनतम इम्यूलेटर संस्करण या एडबेलोड को एडीबी के माध्यम से चला रहे हैं adb –e install supersu.apk
)
इसे स्थापित करने के बाद, जब आप इसे चलाते हैं तो एक स्क्रीन दिखाता है जैसा कि नीचे दर्शाया गया है कि "कोई एसयू बाइनरी स्थापित नहीं है .."। यह त्रुटि अभी पुष्टि करती है कि डिवाइस अभी तक निहित नहीं है।
एमुलेटर सिस्टम विभाजन को योग्य बनाएं
जैसा कि यह सुझाव देता है, हमें इम्यूलेटर को सिस्टम फाइल लिखने की अनुमति देने की आवश्यकता है।
इसे पूरा करने के लिए निम्न कोड टाइप करें: emulator.exe –avd {emulator_name} –writable-system
नोट: एंड्रॉइड एसडीके इंस्टॉल किए गए टूल फ़ोल्डर पर नेविगेट करें और वहां शिफ्ट और राइट क्लिक करके कमांड प्रॉम्प्ट खोलें।
सिस्टम डायरेक्टरी में सु बाइनरी को पुश करना
- रिकवरी फ्लैशबल निकालें। ज़िप (अलग आर्किटेक्चर के सु बायनेरिज़ युक्त)
जरूरी! केवल सु बाइनरी का उपयोग करें जो आपके एवीडी आर्किटेक्चर से मेल खाता है जैसे x86, आर्म आदि .., और उस पथ पर ध्यान दें जहां आपने इन बायनेरिज़ को निकाला था।
- सुनिश्चित करें कि आप एडीबी को रूट के रूप में चला रहे हैं और आपको रिमूव करने की भी आवश्यकता है। बस इन कोड को दर्ज करें
adb root
adb remount
अब इसका समय सु बाइनरी पुश करने के लिए है:
यह वह कोड है जिसका मैंने सफलतापूर्वक उपयोग किया है :adb -e push C:\%USERPROFILE%\Desktop\rootemu\x86\su.pie /system/bin/su
(सु बाइनरी के मेरे विशिष्ट स्थान के बारे में कभी नहीं, कोई भी स्थान तब तक ठीक है जब तक कि कोई सफेद स्थान न हो)
यदि यह विफल होता है तो इसके बजाय इस निर्देशिका पर धकेलने का प्रयास करें /system/xbin/su
। इसके अलावा एंड्रॉइड 5.1 और नीचे चलने वाले एमुलेटर का उपयोग करें su
और नहींsu.pie
सु बाइनरी की अनुमति बदलें
- अगला चलो सु बाइनरी की अनुमतियों का थोड़ा संशोधन करते हैं। हमें ऐसा करना है कि एब्यूलेटर डिवाइस में adb:
adb –e shell
su root
cd /system/bin
chmod 06755 su
जरूरी!! सु बाइनरी पथ पर ध्यान दें (मेरा / सिस्टम / बिन है)
install
सु बाइनरी पर निर्देश सेट करना और ए सेट करनाdaemon
कोड टाइप करें:
su --install
और डेमॉन स्थापित करने के लिए:
su --daemon&
जरूरी!! स्पेसिंग पर ध्यान दें
SELinux को Permissive पर सेट करना (यानी SE Linux को बंद करना)
- अंत में इस कोड के माध्यम से सेलिनक्स को बंद करें:
setenforce 0
तो इतना ही है!! SuperSU ऐप खोलें और यह बायनेरिज़ को अपडेट करने के लिए कह सकता है, आप सामान्य विधि का उपयोग कर सकते हैं।
किसी भी ऐप को केवल डबल चेक करने के लिए एसयू की अनुमति की आवश्यकता होती है और वास्तव में सुपरएसयू पूछें कि क्या आप इसे सु अनुमतियाँ देना चाहते हैं।
टिप्पणियों
संदर्भ में अधिकांश सामग्री पुराने Android संस्करणों के लिए थी और इसलिए विभिन्न आदेशों और रास्तों का कारण जो मैंने संशोधित किया।
विशेष स्वीकृति;
इरविन एच के लिए विशेष आभार, जिनके ट्यूटोरियल ने मुझे अनगिनत बार विफल होने के बाद इस गाइड को बनाने के लिए प्रेरित किया, और कई उपयोगकर्ताओं को अपने एमुलेटर भी रूट करने की आवश्यकता को देखने के बाद। मुझे उम्मीद है कि इससे भी बहुत फायदा होगा
इर्विन एच: एंड्रॉइड एमुलेटर को रूट करना - एंड्रॉइड स्टूडियो 2.3 (एंड्रॉइड 4.4)
अपडेट करें
जैसा कि सैटोमिक ने टिप्पणी की है,
यह दृष्टिकोण अभी भी एंड्रॉइड स्टूडियो 3.0.1 के साथ व्यवहार्य है
एमुलेटर संस्करण में अपग्रेड करने 27.2.9
और उसके बाद अब स्नैपशॉट फीचर के माध्यम से रूट को संरक्षित करना बहुत आसान हो जाता है (यदि system.img विधि को कॉपी करना काम कर रहा है):
आदर्श रूप से यह अधिक है कि वर्चुअल डिवाइस को हाइबरनेटिंग के साथ कॉन्फ़िगर करना बरकरार है, इसलिए सब कुछ संरक्षित है।
स्नैपशॉट्स
अब आप दिए गए डिवाइस कॉन्फ़िगरेशन के लिए कई एवीडी स्नैपशॉट को सहेज सकते हैं और एमुलेटर शुरू करते समय लोड किए गए स्नैपशॉट में से कौन सा चुन सकते हैं। स्नैपशॉट लोड करके एक वर्चुअल डिवाइस शुरू करना एक नींद की स्थिति से एक शारीरिक जागने की तरह है, क्योंकि यह एक संचालित राज्य से बूट करने का विरोध करता है।
इसका मतलब है कि एमुलेटर को शुरू करने के लिए एकमात्र आवश्यकता है एमुलेटर को शुरू -writable-system
करने के लिए सामान्य एमुलेटर -avd [avdname]
कमांड में पैरामीटर जोड़ना । (सिर्फ एमुलेटर के साथ एमुलेटर चलाना -एवीडी [avdname] रूट किए गए संस्करण / कॉपी को लॉन्च नहीं करता है या कुछ त्रुटि हो सकती है)
एपीआई स्तर 22 पर परीक्षण किया गया