बहुत संभावना है कि udv गलत तरीके से आपके डिवाइस को जोड़ रहा है। मेरे पास भी यह समस्या थी और अपेक्षाकृत सरल समाधान था।
अपने डिवाइस को lsusb में खोजें
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:0a2b Intel Corp.
Bus 001 Device 002: ID 05c8:03a2 Cheng Uei Precision Industry Co., Ltd (Foxlink)
Bus 001 Device 006: ID 18d1:4ee7 Google Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
इस मामले में रुचि के बिंदु:
Bus 001 Device 006: ID 18d1:4ee7 Google Inc.
संबंधित डिवाइस फ़ाइल देखें
$ ls -l /dev/bus/usb/001/006
संभवत: आपको कुछ ऐसा दिखाई देगा
crw-rw-r-- 1 root root 189, 5 Sep 8 21:47 /dev/bus/usb/001/006
इसका मतलब यह है कि डिवाइस फ़ाइल का स्वामित्व उपयोगकर्ता रूट और समूह रूट के पास होगा, यही कारण है कि adb इसे रूट के रूप में एक्सेस कर सकता है लेकिन आपके मानक उपयोगकर्ता के रूप में नहीं।
यह एक नया udv नियम बनाकर हल किया जा सकता है - मैंने उपयोग किया /etc/udev/rules.d/51-android.rules
- डिवाइस को समूह में जोड़ने के लिए plugdev
, जो कि पहले से ही adb आपको सदस्य मानता है (आप shoukd be, check using का उपयोग कर सकते हैं id
)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0660",
GROUP="plugdev", SYMLINK+="android%n"
** ATTR {idProduct} == "4ee7" को अपने स्वयं के उत्पाद आईडी से बदलना याद रखें जिसे आपने चरण एक में पाया था। ** (यदि आपका विक्रेता Google Inc. नहीं है, तो विक्रेता आईडी को lsusb में कोलन से पहले वाले के साथ बदलें)।
अब बस अपने डिवाइस को अनप्लग करें और इसे वापस प्लग करें (udev को स्वचालित रूप से नई फ़ाइल पर प्रतिक्रिया देनी चाहिए) और टाडा:
$ adb devices
List of devices attached
YC873P0G device
स्रोत: USB डीबगिंग Android उपकरणों के लिए udev नियम जोड़ना - Janos Gyerik
sudo adb devices
। यदि वह महान काम करता है, लेकिन स्मृति से मुझे संलग्न उपकरणों की जांच करने के लिए रूट नहीं होना चाहिए।