android - उबंटू: एंड्रॉइड डिवाइस डीबग




linux ubuntu (4)

नोट: EboMike का स्वीकृत उत्तर असंगत है।

मुझे पता है कि यह एक पुराना सवाल धागा है, लेकिन मैं एक ही समस्या को हल करने की कोशिश कर रहा हूं। हालांकि स्वीकृत उत्तर गलत था। आपके यूडीवी नियमों को सही तरीके से सेट करने के बाद एडीबी सर्वर को रूट के रूप में चलाने की आवश्यकता नहीं होनी चाहिए।

http://developer.android.com/tools/device.html में चरण 3 आपको सही समाधान देता है। विशेष रूप से, निम्न पंक्ति के साथ /etc/udev/rules.d/51-android.rules जोड़ें या संशोधित करें:

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0666", GROUP="plugdev" 

इस मामले में 0 बीबी 4 एचटीसी के लिए विक्रेता आईडी है। 0 एफएफएफ नेक्सस वन के लिए उत्पाद आईडी है। उपरोक्त लिंक पर तालिका का उपयोग करें, या lsusb को अपने डिवाइस के विक्रेता आईडी और उत्पाद आईडी की पहचान करने के लिए उपयोग करें। जैसे

$ lsusb
Bus 001 Device 006: ID 18d1:4e22 Google Inc. Nexus S (debug)

18 डी 1 इस विशेष डिवाइस की विक्रेता आईडी है, और 4e22 उत्पाद आईडी है। यदि आप इस डिवाइस तक सभी उपयोगकर्ताओं को एक्सेस सक्षम करना चाहते हैं तो आप "ग्रुप" परिभाषा को छोड़ सकते हैं। यदि नहीं, तो अपने आप को प्लगडेव समूह में जोड़ना सुनिश्चित करें यदि आप पहले से इसमें नहीं हैं। इस फ़ाइल को बनाने के बाद, udev को पुनरारंभ करें या पुनः लोड करें।

udevadm control --reload-rules

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

"Adb kill-server" के साथ किसी भी पुराने एडीबी सर्वर को मारें, अपने डिवाइस को प्लग करें और "adb devices" चलाएं। यह सर्वर को पुनरारंभ करेगा और आपको अब अपना डिवाइस देखना चाहिए। एडीबी सर्वर शुरू करने के लिए भी रूट के रूप में एडीबी चलाना आवश्यक नहीं है। चीजों को रूट के रूप में चलाने के लिए आम तौर पर एक बुरा विचार भी है जब तक कि यह बिल्कुल जरूरी नहीं है।

इस प्रश्न का उत्तर यहां दिया गया है:

मेरे पास एक एचटीसी डिजायर है जिसे मैं डीबग करना चाहता हूं और अपना एंड्रॉइड एप्लिकेशन चालू करना चाहता हूं। लेकिन जब मैं ग्रहण में खिड़की प्राप्त करता हूं जहां मैं डिवाइसों के बीच चयन कर सकता हूं तो मेरी एचटीसी डिजायर केवल प्रश्नचिह्न (????????) के साथ सूचीबद्ध है। मैं क्या गलत कर रहा हूं?

मैंने यह कोशिश की है:

मेरे डिवाइस पर सक्षम यूएसबी डिबगिंग और मेरे अनुप्रयोग Manifest.xml फ़ाइल में सक्षम डीबगिंग।

टर्मिनल में मैंने यह किया है:

  1. रूट के रूप में लॉग इन करें और यह फ़ाइल बनाएं: /etc/udev/rules.d/51-android.rules।
  2. SUBSYSTEM == "यूएसबी", SYSFS {idVendor} == "0bb4", MODE = "0666"
  3. सुडो सेवा udev पुनरारंभ करें

मैं और क्या कोशिश कर सकता था या भूल गया?


आपको सुडो का उपयोग करके मैन्युअल रूप से एडीबी चलाने की जरूरत है। यदि आप बस सुडो के बिना एडीबी चलाते हैं (या यदि आप एक्लिप्स / एडीटी को आपके लिए करते हैं), तो आपके डिवाइस को देखने के लिए आवश्यक अनुमतियां नहीं होंगी।

यदि यह पहले से चल रहा है, तो sudo adb kill-server और sudo adb start-server।


मैंने अपने "ब्रिकेट" नेक्सस एस को यहां जो कुछ कहा है, उसे फिर से काम करने में कामयाब रहा है। हालांकि, एक छोटा सा जोड़ा जरूरी था।

जब आप lsusb और यूएसबी उपप्रणाली आपको बताती है कि कौन सा एंड्रॉइड डिवाइस संलग्न है, तो मेरा मुझे वापस दे रहा था:

$ lsusb
Bus 001 Device 006: ID 18d1:d001 Google Inc.

डी 001 पर ध्यान दें और ज्ञात राज्यों में से कोई भी नहीं, यानी 4e20, 4e21 या 4e22। तो मैंने 51-android.rules विशेष रूप से इस अज्ञात स्थिति के साथ एक और पंक्ति जोड़ने और इसे "पुनर्प्राप्ति / डीबग" के रूप में चिह्नित करने के लिए किया है।

एंड्रॉइड डिस्कनेक्ट और रीकनेक्ट करें। यह सुनिश्चित करने के लिए कि यह कम से कम देखा जा रहा है, फिर से lsusb जांचें। और ... उसने मुझे यह दिया

$ adb devices
List of devices attached
34353601BB2000EC    recovery

इसके अलावा

$ adb devices -l
List of devices attached 
????????????           no permissions usb:1-3

उसके बाद, मैंने कारखाने की छवियों को बहाल करने के लिए बस कैसे पालन किया। आशा करता हूँ की ये काम करेगा।


सुनिश्चित करें कि आपने स्थापित किया है sudo apt-get इंस्टॉल करें android-tools-adb अब sudo adb जांचें यह एडीबी की मदद दिखाएगा

अब कृपया आदेशों का पालन करें / निम्नलिखित आदेशों का उपयोग शुरू करें -

sudo adb kill-server sudo adb start-server

अंत में, सुडो adb डिवाइस

उम्मीद है कि यह काम करेगा !!!





adb