एंड्रॉइड 7.1.1 के साथ रूट एंड्रॉइड वर्चुअल डिवाइस


12

मैं वर्चुअल एंड्रॉइड 7.1.1 (x86) बनाने के लिए एंड्रॉइड एमुलेटर के साथ आधिकारिक एंड्रॉइड एसडीके का उपयोग कर रहा हूं। मुझे कई चीजों का परीक्षण करने की आवश्यकता है, दूसरों के बीच, कुछ एप्लिकेशन को डिवाइस तक रूट एक्सेस की आवश्यकता होती है।

अब मुझे पता है कि मैं कर सकता हूं adb rootऔर मेरे पास एक रूट शेल है, लेकिन यह उन ऐप्स को अनुमति नहीं देता है जिन्हें मैं रूट एक्सेस के लिए इंस्टॉल करता हूं।

मैंने इस विषय पर अभी कुछ समय के लिए शोध किया है और विभिन्न दृष्टिकोणों को देखा है। अधिकांश उत्तर हेवन लंबे समय से पहले पोस्ट किए गए थे।

मुझे लगता है कि यह काफी अजीब है कि रूट को टॉगल करने का कोई विकल्प नहीं है - यह सब एक एसडीके के बाद है।

मैं एंड्रॉइड वर्चुअल डिवाइस को कैसे रूट करूं, एंड्रॉइड 7.1.1 चला रहा हूं, प्रभावी रूप से इंस्टॉल किए गए एप्लिकेशन रूट एक्सेस की अनुमति देता है?

संपादित करें: यदि संभव हो तो मैं Genymotion जैसे भुगतान किए गए एमुलेटर का सहारा नहीं लेता।

edit2: यह पूरी तरह से व्यक्तिगत उपयोग के लिए है।

edit3: जीनोमिनेशन एक वैकल्पिक इम्यूलेटर के रूप में एक व्यवहार्य समाधान प्रतीत होता है। एंड्रॉइड एसडीके / एमुलेटर ऐसी सुविधा कैसे नहीं देता है?

edit4: द्वारा जवाब xavier_fakerat बिल्कुल ठीक काम करने के लिए, हालांकि बाद से एंड्रॉयड स्टूडियो संस्करण 3.1 यह एक स्थायी पक्ष होना प्रतीत नहीं होता है। AVD को रिबूट करने के बाद, रूट एक्सेस समाप्त हो गया है।

जवाबों:


11

एंड्रॉइड एमुलेटर को कैसे रूट करें (Android 7.1.1 / Nougat)

मैं Android एमुलेटर को रूट करने के लिए एक आसान तरीका के समुदाय को सूचित करने के लिए प्रसन्न हूं (स्टैंडअलोन एंड्रॉइड एसडीके से चलाएं)

आवश्यकताएँ :

नोट: SuperSU अब पदावनत कर दिया गया है, लेकिन यह विधि अभी भी एमुलेटर को रूट करने के लिए काम करती है, और नए रूटिंग विधियों के लिए अधिक अपडेट दिए जाएंगे।

अनुदेश

  1. SuperSu.apk स्थापित करें

    • सबसे पहले SuperSu ऐप इंस्टॉल करें, बस खींचें और ड्रॉप करें (यदि नवीनतम इम्यूलेटर संस्करण या एडबेलोड को एडीबी के माध्यम से चला रहे हैं adb –e install supersu.apk)

    • इसे स्थापित करने के बाद, जब आप इसे चलाते हैं तो एक स्क्रीन दिखाता है जैसा कि नीचे दर्शाया गया है कि "कोई एसयू बाइनरी स्थापित नहीं है .."। यह त्रुटि अभी पुष्टि करती है कि डिवाइस अभी तक निहित नहीं है।

यहाँ छवि विवरण दर्ज करें

  1. एमुलेटर सिस्टम विभाजन को योग्य बनाएं

    • जैसा कि यह सुझाव देता है, हमें इम्यूलेटर को सिस्टम फाइल लिखने की अनुमति देने की आवश्यकता है।

    • इसे पूरा करने के लिए निम्न कोड टाइप करें: emulator.exe –avd {emulator_name} –writable-system

नोट: एंड्रॉइड एसडीके इंस्टॉल किए गए टूल फ़ोल्डर पर नेविगेट करें और वहां शिफ्ट और राइट क्लिक करके कमांड प्रॉम्प्ट खोलें।

  1. सिस्टम डायरेक्टरी में सु बाइनरी को पुश करना

    • रिकवरी फ्लैशबल निकालें। ज़िप (अलग आर्किटेक्चर के सु बायनेरिज़ युक्त)

जरूरी! केवल सु बाइनरी का उपयोग करें जो आपके एवीडी आर्किटेक्चर से मेल खाता है जैसे 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

  1. सु बाइनरी की अनुमति बदलें

    • अगला चलो सु बाइनरी की अनुमतियों का थोड़ा संशोधन करते हैं। हमें ऐसा करना है कि एब्यूलेटर डिवाइस में adb:

    adb –e shell su root cd /system/bin chmod 06755 su

जरूरी!! सु बाइनरी पथ पर ध्यान दें (मेरा / सिस्टम / बिन है)

  1. installसु बाइनरी पर निर्देश सेट करना और ए सेट करनाdaemon

कोड टाइप करें:

su --install

और डेमॉन स्थापित करने के लिए:

su --daemon&

जरूरी!! स्पेसिंग पर ध्यान दें

  1. 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 पर परीक्षण किया गया


1
विस्तृत उत्तर के लिए धन्यवाद। मैं इसे अभी तक कोशिश नहीं की, लेकिन यह एक व्यवहार्य समाधान हो रहा है!
सैटॉमिक

1
@SaAtomic, आपके कदम बहुत उपयोगी हैं, कभी भी, एक कस्टम वसूली का उपयोग करके Supersu 2.82 / Magisk भी फ्लैश कर सकते हैं, जैसे- TWRP, और आसानी से रूट प्राप्त कर सकते हैं .... ये किसी भी 7.1.1 या 7.1.2 पर अच्छी तरह से काम करता है। रनिंग डिवाइसेस .... थैंक यू ..
पांचजन्य सरकार

मैंने अभी Android 7.1.1 का उपयोग करके Android SDK 2.3.3 (AVD Manager) और वर्चुअल पिक्सेल के साथ यह परीक्षण किया है। अभी वर्णित के रूप में काम करता है। धन्यवाद!
सैटोमिक

1
अपडेट: यह दृष्टिकोण अभी भी एंड्रॉइड स्टूडियो 3.0.1
SaAtomic

1
यह सबसे अधिक संभावना है कि आप एक गलत एमुलेटर छवि का उपयोग कर रहे हैं जो आपको उपयोग करने की आवश्यकता Google APIs Intel x86 Atom System ImageहैGoogle Play Intel x86 Atom System Image
xavier_fakerat
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.