क्या मैं adb का उपयोग करके USB डीबगिंग को सक्षम कर सकता हूं?


17

मेरे पास एक सैमसंग गैलेक्सी एस 3 है और डिस्प्ले टूटा हुआ है और यूएसबी डिबगिंग भी बंद है।

मैं ./adbकमांड का उपयोग करके इसे कैसे सक्षम कर सकता हूं ? मैंने ये चरण पहले ही कर लिए हैं:

  • data/data/com.android.providers.settings/databases/settings.dbadb_enabled0 से 1 के लिए परिवर्तित मूल्य।
  • में भी संपादित build.propकिया /system

यह सब करने के बाद, फोन ईंट लग रहा है, यह चालू नहीं है। मैं बस इतना करना चाहता हूं कि यूएसबी डिबगिंग को सक्षम करें और इसे वाइसर (बीटा) से कनेक्ट करें ताकि मैं इसे अपने कंप्यूटर पर नियंत्रित कर सकूं।


1
स्वागत हे! अच्छा प्रश्न। +1। आप फोन को रिमोट-कंट्रोल क्यों करना चाहते हैं?
अविस्मरणीयसुपोर्ट्समोनिका

धन्यवाद ... क्योंकि स्क्रीन टूट गई है और मैं इसमें डेटा ब्राउज़ करना चाहता हूं। हालांकि मैंने कल रात इसका पता लगाया ... :)
TheOnlyAnil

USB डीबगिंग को सक्षम करने का उचित तरीका boot.img को अनपैक करना होगा, init.rc को संपादित करें (adb सक्षम करें, फिर RSA verificaton को अक्षम करें), repack boot.img, और बूट boot.img को फ्लैश किए बिना। एक बार काम करने की पुष्टि हो जाने के बाद, फिर डिवाइस पर boot.img फ्लैश करें।
हैश_ब्रॉन 15

जवाबों:


12

मुझे यह काम करने के लिए मिला है :)

नोट : इसके लिए अनलॉक बूटलोडर की आवश्यकता है।

  • डिवाइस को मैक या पीसी से कनेक्ट करें recovery mode। (स्क्रीन टूटते ही मेरे दिमाग में इस प्रक्रिया को मैप करना पड़ा)।
  • अब कंप्यूटर में टर्मिनल / सीएमडी खोलें और जाएं platform-tools/। टाइप करें और ./adb devicesजांचें कि डिवाइस रिकवरी मोड में जुड़ा हुआ है या नहीं।
  • अब संबंधित निर्देशिकाओं को टाइप करने ./adb shell mount dataऔर ./adb shell mount systemमाउंट करने के लिए।
  • जाओ persist.sys.usb.configका उपयोग कर अपने सिस्टम में फ़ाइल./adb pull /data/property/persist.sys.usb.config /Your directory
  • अब उस फाइल को टेक्‍सीडिटर में खोलें और उसे एडिट mtp,adbऔर सेव करें।
  • अब फ़ाइल को डिवाइस में वापस धकेलें; ./adb push /your-directory/persist.sys.usb.config /data/property
  • बिल्ड.प्रॉप फ़ाइल प्राप्त करें; ./adb pull /system/build.prop /your-directory
  • इन पंक्तियों को जोड़ें:

    persist.service.adb.enable = 1                                                    
    persist.service.debuggable = 1
    persist.sys.usb.config = एमटीपी, एशियाई विकास बैंक
  • डिवाइस में वापस build.prop पुश; ./adb push /your-dir/build.prop /system/

इस तरह आपने अपने डिवाइस पर USB डीबगिंग को सक्षम किया। लेकिन आप अभी भी कनेक्ट नहीं कर सकते। क्यों? क्योंकि यह आरएसए सत्यापन के लिए पूछता है। यदि आप अपना प्रदर्शन देख सकते हैं तो आप आसानी YESसे डिवाइस को अधिकृत करने के लिए टैप कर सकते हैं । मैं वर्तमान में यह बाईपास करने के लिए समझ रहा हूँ। मैं अपने मृत फोन को बुरी तरह से पुनर्जीवित करना चाहता हूं। यदि आप ऐसा करने का कोई तरीका जानते हैं, तो कृपया साझा करें :)


क्या आप एक कस्टम रिकवरी चला रहे हैं?
Firelord

नहीं, यह रिकवरी है।
theOnlyAnil

1
उपयोगकर्ता द्वारा RSA पुष्टिकरण भाग के बारे में, यदि आपको Android OS में बूट किया गया है, और किसी भी तरह से पुष्टि की जाती है कि स्क्रीन पुष्टि के लिए एक संवाद प्रदर्शित कर रही है, तो आप adb shell input keyeventYES को चुनने के लिए बहुत अच्छी तरह से उपयोग कर सकते हैं। यहां देखें कीवेंट । यह अंधेरे में एक शॉट है, लेकिन बहुत अच्छी तरह से फायरिंग के लायक हो सकता है।
Firelord

@ फ़िरलॉर्ड मैंने ऐसा करने की कोशिश की। लेकिन यह प्राधिकरण त्रुटि कहा। लगता है कि मुझे इसे पहले अधिकृत करना है फिर कुछ भी करना है ...
TheOnlyAnil

1
आह! कुछ ऐसा काम करने का सुझाव देने के लिए क्षमा करें। मैं क्या सोच रहा था? यदि ADB पहुँच अधिकृत नहीं है, तो कोई तरीका adb shell inputकाम नहीं करेगा। दोबारा माफी चाहूंगा! मैं देखूंगा कि क्या किसी तरह प्राधिकरण को दरकिनार करने का कोई तरीका है।
Firelord

4

RSA सत्यापन के लिए जिसे आपने बाईपास करने के लिए कहा था, मुझे नहीं पता कि यह आपके डिवाइस में काम करेगा या नहीं, लेकिन इसने मेरे छोटे से प्रयोग में काम किया। लॉलीपॉप में, ADB कुंजियाँ (प्राधिकरण के बाद) में सहेजी जाती हैं /data/misc/adb/adb_keys। आपकी निजी कुंजी कंप्यूटर में सहेजी गई है। लिनक्स में डायरेक्टरी लोकेशन है $HOME/.android/। विंडोज पर जो आमतौर पर अनुवाद करता है %USERPROFILE%\.android, लेकिन C:\Windows\System32\config\systemprofile\.androidकुछ मामलों में चाबियाँ समाप्त हो सकती हैं । ( स्रोत )

वहाँ एक विधि का वर्णन किया है यहाँ अशोक द्वारा जो प्राधिकरण को दरकिनार में मदद कर सकता है।

हालांकि, मेरे लॉलीपॉप में, विधि भिन्न होती है। मैंने देखा कि मेरे प्राथमिक और माध्यमिक लॉलीपॉप ROM में adb_keysवास्तव में एक ही कुंजी थी। मैंने केवल द्वितीयक ROM (स्वचालित रूप से हटाई गई फ़ाइल) से प्राधिकरण को रद्द कर दिया था, पीसी से डिवाइस काट दिया, adb_keysप्राथमिक रोम से माध्यमिक रोम में कॉपी किया गया, डिवाइस को पीसी और वॉइला से जोड़ा ! मुझे उस प्राधिकरण के लिए नहीं कहा गया था। मैंने डबल का उपयोग करके प्राधिकरण की जांच की adb devicesऔर यह सब अच्छा था।

लिंक किए गए उत्तर को पहले आज़माएं। एक अलग एंड्रॉइड फोन को अधिकृत करें, रिकवरी मोड से इसकी कुंजी को अपने डिवाइस में कॉपी करें और देखें कि क्या यह काम करता है।


धन्यवाद। मैंने नोट 2 से S3 में adb_keys स्थानांतरित किया और यह काम किया :)
TheOnlyAnil

स्वीकृत उत्तर को सही बनाने के लिए यह आवश्यक जानकारी है। बहुत बढ़िया। +1
हैश_ब्राउन 15

2
यूनिक्स आधारित ओएस चलाने वालों के लिए, adb push ~/.android/adbkey.pub /data/misc/adb/adb_keysमज़बूती से काम करता है।
क्रिस ओलिन

@ क्रिसलिन: आपके इनपुट के लिए धन्यवाद। लेकिन मुझे लगता है कि adb को रूट मोड (adb root) में चलाया जाना चाहिए, अन्यथा, उपयोगकर्ता सीधे / डेटा / misc / के तहत एक फ़ाइल डालने में सक्षम नहीं होगा। सही बात?
Firelord

ठीक नहीं, लेकिन आप एक अच्छा सवाल उठाते हैं। यदि आप ADB के माध्यम से USB डिबगिंग को सक्षम करने का प्रयास कर रहे हैं, तो आपको इसे पूरा करने के लिए रिकवरी में बूट होना होगा। रिकवरी गोले (TWRP के साथ कम से कम) रूट करने के लिए डिफ़ॉल्ट। यदि वे नहीं करते हैं, तो हाँ, उपयोगकर्ता सीधे / डेटा / मिसकॉल नहीं कर पाएंगे।
क्रिस ओलिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.