जवाबों:
यदि मैं आपके प्रश्न को सही ढंग से समझ रहा हूं, तो आप पूछ रहे हैं कि आपके द्वारा चलाए जाने पर रूट एक्सेस स्वचालित रूप से कैसे प्राप्त किया adb shell
जाए, ताकि आपको शेल में जाने और su
अपने फोन पर रूट के रूप में कमांड निष्पादित करने के लिए टाइप न करना पड़े ।
यह आपके बूट विभाजन में एक ध्वज द्वारा नियंत्रित किया जाता है, जिसे अधिकांश कस्टम रोम ने डिफ़ॉल्ट रूप से रूट अनुमति देने के लिए संशोधित किया है। यदि आप $
उपयोग करते समय गिर जाते हैं adb shell
तो आपके पास दो स्थायी विकल्प होते हैं और एक अस्थायी एक होता है (अस्थायी अर्थ है कि अगर आप रिबूट करते हैं तो यह छड़ी नहीं करता है):
adbd
रूट अनुमतियों के साथ अपने डिवाइस पर पुनरारंभ करेंनंबर 2 वास्तव में उतना मुश्किल नहीं है, लेकिन अगर आप लापरवाह हैं तो यह कुछ खतरनाक हो सकता है। यहां एक विकी लेख है जो प्रक्रिया की व्याख्या करता है और इसमें आपकी मदद करने के लिए पर्ल स्क्रिप्ट के एक जोड़े शामिल हैं। ये निर्देश लिनक्स / यूनिक्स वातावरण को मानते हैं। मैंने व्यक्तिगत रूप से फेडोरा लिनक्स पर इन निर्देशों का उपयोग किया है और आपको बता सकता है कि वे काम करते हैं, लेकिन मुझे मैक जैसे अन्य * निक्स वातावरण के बारे में नहीं पता है। मुझे किसी भी समान विंडोज निर्देशों का पता नहीं है, लेकिन मैं कुछ डाउन ट्रैक करने की कोशिश कर सकता हूं यदि आप विंडोज पर हैं। विभिन्न उपकरणों के अलग-अलग टेबल का उपयोग करने के बाद से सटीक कमांड फोन से फोन पर कुछ हद तक भिन्न होंगे।
आम तौर पर बोलना, हालाँकि, आपको अपने फोन से अपने वर्तमान बूट.मग को खींचने की जरूरत है, इसे अनपैक करें, रैमडिस्क निकालें, और default.prop फ़ाइल ढूंढें । यह एक प्लेनटेक्स्ट फाइल है, जिसे आपको टेक्स्ट एडिटर में खोलने की जरूरत है और फिर वह लाइन ढूंढें जिसमें वैल्यू हो ro.secure
। यदि रेखा कहती है ro.secure=1
तो आपको इसे बदलने की आवश्यकता है ro.secure=0
। उसके बाद आप रैमडिस्क और बूट.मग को फिर से पैक कर सकते हैं, फिर इसे अपने फोन पर फ्लैश कर सकते हैं। एक बार जब आप रिबूट करते हैं, तो #
जब भी आप adb shell
बिना रन बनाए प्रदर्शन करेंगे, आपको एक संकेत के साथ बधाई दी जाएगी su
।
वैकल्पिक रूप से, यदि आप एक कस्टम रॉम का उपयोग कर रहे हैं, लेकिन इसमें यह संशोधन नहीं है, तो आप रॉम को अनज़िप कर सकते हैं और बूट कर सकते हैं। ऊपर दिए गए चरणों का उपयोग करके इसके साथ शामिल किया गया। फिर आप नए संशोधित boot.img के साथ ROM को ज़िप कर सकते हैं और ज़िप फ़ाइल को फ्लैश कर सकते हैं जैसा कि आप सामान्य रूप से करते हैं।
यह शायद बिना कहे चला जाता है, लेकिन ऐसा करते समय सावधान रहें । अपने बूट विभाजन के साथ मेसिंग आपके फ़ोन को आसानी से मिटा सकता है और आपको HBoot के माध्यम से पुनर्प्राप्त करने के लिए मजबूर कर सकता है। मैं अत्यधिक फास्टबूट के परीक्षण की सिफारिश करूंगा ताकि यह सुनिश्चित हो सके कि आप विस्तारित फास्टबूट कमांड का उपयोग कर सकते हैं और एक रिकवरी कर सकते हैं। यह आपके मॉडल के आधार पर थोड़ा भिन्न होता है, लेकिन अधिकांश फोनों में कुछ प्रकार के डेस्कटॉप सॉफ़्टवेयर होते हैं जिन्हें फ़ोन को फिर से चलाने के लिए भी चलाया जा सकता है।
तीसरा विकल्प यह है कि कई मामलों में adbd
आपके डिवाइस पर रूट विशेषाधिकारों के साथ पुनरारंभ करना संभव हो सकता है । एक संभावना adb root
एक पीसी टर्मिनल से निष्पादित करने के लिए है, हालांकि यह सभी ROM कॉन्फ़िगरेशन पर काम नहीं करेगा (ROM को "userdebug" के रूप में बनाया जाना चाहिए)। आप चैनफायर के एडबर्ड असुरक्षित ऐप को भी आज़मा सकते हैं । यह एक रिबूट के पार नहीं रहेगा, इसलिए आपको या तो ऐप का उपयोग करने की आवश्यकता होगी या adb root
फिर किसी भी समय आप अपने फोन को पुनः आरंभ करेंगे।
adbd
डिफ़ॉल्ट रूप से फोन पर रूट अनुमति देने की अनुमति देता है। एंड्रॉइड टीम के एक सदस्य का एक पोस्ट है जो इसका तात्पर्य करता है, लेकिन इसे स्पष्ट रूप से नहीं कहता है। इस के लिए प्रतिबद्ध AOSP के लिए भी संकेत मिलता है कि यह केवल एक ध्वज है कि adbd
स्टार्टअप पर जाँच करता है (मैं इसे कहीं और स्रोत में नहीं दिख रहा है)। जैसा कि मैंने उल्लेख किया है, कस्टम रोम का अधिकांश हिस्सा जो मैंने देखा है (सीएम शामिल है) ने इसे 0 पर सेट किया है
adb root
ऑटो-सु मोड में adbd को पुनः आरंभ करने के लिए कमांड की खोज की , जाहिर तौर पर यह इस पर निर्भर करता है। मुझे लगता है कि आप इसके बारे में सिर्फ एक झंडा होने के बारे में सही थे, हालांकि।
// ... except we allow running as root in userdebug builds if the service.adb.root property has been set by the "adb root" command"
। संयोग से, यह कैसे जलाने आग के लिए BurritoRoot का पहला संस्करण काम किया, IIRC।
यदि आप फोन रूट करते हैं तो आप "su -c" कमांड के साथ कमांड चला सकते हैं।
फ़ोन उत्पाद जानकारी प्राप्त करने के लिए build.prop फ़ाइल पर कैट कमांड का एक उदाहरण यहाँ दिया गया है।
adb shell "su -c 'cat /system/build.prop |grep "product"'"
यह रूट की अनुमति देता है और '' के अंदर कमांड चलाता है
5 अंत उद्धरणों पर ध्यान दें, यह आवश्यक है कि आप अपने सभी अंत उद्धरणों को बंद करें या आपको एक त्रुटि मिलेगी।
स्पष्टीकरण के लिए प्रारूप इस प्रकार है।
adb shell "su -c '[your command goes here]'"
सुनिश्चित करें कि आप कमांड दर्ज करते हैं ठीक उसी तरह जिस तरह से आप इसे खोलते समय सामान्य रूप से चलाते हैं।
इसे आज़माएँ, आशा है कि इससे मदद मिलेगी।
बस adbd असुरक्षित स्थापित करें ।
क्या आप के लिए रूट के रूप में चलाने की कोशिश कर रहे हैं? आप कह रहे हैं कि आप एडीबी शेल को रूट के साथ चलाना चाहते हैं, लेकिन आप एडीबी शेल का उपयोग नहीं करना चाहते हैं? क्या आप स्पष्ट कर सकते हो?
यदि एप्लिकेशन रूट एक्सेस के लिए अनुरोध करता है, तो आपके फोन पर सुपरयूजर एप्लिकेशन को इसे अनुमति देना चाहिए या नहीं। जिस प्रक्रिया में आपने अपने फोन को रूट किया है, उसमें सुपरयूजर एप्लिकेशन शामिल होना चाहिए।
adb shell ps
या adb shell
फिर ps
चल रही प्रक्रिया सूची प्राप्त करने के लिए। इसलिए कुछ चीज़ों को रूट एक्सेस की आवश्यकता होती है, मैं पूर्व को करने में सक्षम होना चाहता हूं।
एक विकल्प के रूप में, आप फोन पर अपनी स्क्रिप्ट लिख सकते हैं और उदाहरण के लिए, बस इसे निष्पादित करें:
adb shell sh /sdcard/myscript.sh
स्क्रिप्ट आपके हस्तक्षेप के बिना खुद को ऊंचा कर सकती है (यह मानते हुए कि सुपरयूज़र अनुमोदन को याद रखने के लिए सेट है), उदाहरण के लिए:
su
pm setInstallLocation 1
मैंने बस सफलता के साथ अपने फोन पर ऐसा किया, एकमात्र समस्या यह है कि मुझे यह पता नहीं चला है कि एडीबी शेल सत्र को कैसे साफ किया जाए। मुझे विंडोज़ कमांड प्रॉम्प्ट पर लौटने के लिए अपने विंडोज शेल में Ctrl-C करना होगा - अन्यथा adb बस #
प्रॉम्प्ट पर बैठता है और इनपुट स्वीकार नहीं करता है।
मैं मरम्मत के होम बटन की विफलता के लिए उपयोग करता हूं
अदब उपकरण
adb खोल su -c commands
या
adb root shell sqlite3 /data/data/com.android.providers.settings/dat डेटाबेस/settings.db "INSERT INTO Secure (नाम, मूल्य) VALUES ('डिवाइस -प्रोसेसर', '1');"
adb मार-सर्वर
आप suid bit को अपने 'sh' पर भी सेट कर सकते हैं। मैं बिजीबॉक्स का उपयोग कर रहा हूं, इसलिए निर्देश आपके सेटअप से मेल नहीं खा सकते हैं:
और आपको रूट प्रॉम्प्ट होना चाहिए
mksh