Sehr wahrscheinlich fügt udev Ihr Gerät falsch hinzu. Auch ich hatte dieses Problem und bin auf eine relativ einfache Lösung gestoßen.
Finden Sie Ihr Gerät in 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
Punkt von Interesse in diesem Fall:
Bus 001 Device 006: ID 18d1:4ee7 Google Inc.
Checken Sie die entsprechende Gerätedatei aus
$ ls -l /dev/bus/usb/001/006
Wahrscheinlich werden Sie so etwas sehen
crw-rw-r-- 1 root root 189, 5 Sep 8 21:47 /dev/bus/usb/001/006
Dies bedeutet, dass die Gerätedatei dem Benutzer root und der Gruppe root gehört, weshalb adb als root, aber nicht als Standardbenutzer darauf zugreifen kann.
Dies kann durch die Schaffung einer neuen udev - Regel gelöst werden - ich verwendet /etc/udev/rules.d/51-android.rules
- um das Gerät zu der Gruppe hinzuzufügen plugdev
, die adb bereits voraus , dass Sie ein Mitglied sein (Sie shoukd sein, überprüfen Sie mit id
)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0660",
GROUP="plugdev", SYMLINK+="android%n"
** Denken Sie daran, das ATTR {idProduct} == "4ee7" durch Ihre eigene Produkt-ID zu ersetzen, die Sie in Schritt 1 ermittelt haben. ** (Wenn Ihr Anbieter nicht Google Inc. ist, ersetzen Sie auch die Anbieter-ID durch die vor dem Doppelpunkt in lsusb).
Jetzt einfach das Gerät ausstecken und wieder einstecken (udev sollte automatisch auf die neue Datei reagieren) und tadaa:
$ adb devices
List of devices attached
YC873P0G device
Quelle: Hinzufügen von udev-Regeln für das USB-Debugging von Android-Geräten - Janos Gyerik
sudo adb devices
. Wenn das großartig funktioniert, aber aus dem Speicher muss ich nicht root sein, um nach angeschlossenen Geräten zu suchen.