Ich verwende Ubuntu 10.10 64 Bit. Ich habe ia32-libs zusammen mit Android Debug Bridge Version 1.0.26 installiert.
Meine Probleme):
adb devices
>>> ???????????? Keine Berechtigungensudo adb devices
>>>> sudo: adb: Befehl nicht gefundenadb shell
>>> Fehler: Unzureichende Berechtigungen für Gerät
Ich denke, diese sind alle verwandt. Hier sind die relevanten Informationen.
$ echo $PATH
/home/me/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/android-sdk-linux_x86/tools:/opt/android-sdk-linux_x86/platform-tools
$ which adb
/opt/android-sdk-linux_x86/platform-tools/adb
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
???????????? no permissions
$ sudo adb devices
sudo: adb: command not found
$ adb shell
error: insufficient permissions for device
Ich erhalte die gleichen Ergebnisse mit einem gerooteten Moto Droid mit CM6.1 und einem verwurzelten G-Tab mit einem CM7-basierten ROM.
Ich habe die folgenden verwandten Beiträge überprüft:
- http://forum.xda-developers.com/archive/index.php/t-522827.html
- http://ubuntuforums.org/archive/index.php/t-1164359.html
- Der Befehl adb wurde in der Linux-Umgebung nicht gefunden
Ich habe die meisten (nicht alle) Vorschläge ausprobiert und konnte mein Problem nicht lösen. Die Dinge, die ich nicht ausprobiert habe, schienen unangemessen. Ich würde mich über ein paar weitere Tipps freuen und werde die Fehlerbehebung fortsetzen.
Eine Sache, die ich nicht versucht habe, war das Bearbeiten von /etc/udev/rules.d/70-android.rules. Ist das wahrscheinlich das Problem? Ich kann nicht sehen, wie dies zu "sudo: adb: Befehl nicht gefunden" führen würde. Vielleicht hängen meine Probleme nicht alle zusammen. An diesem Punkt denke ich jedenfalls, dass ich etwas Input von anderen Leuten brauche, weil ich nicht glaube, dass ich ein Pfadproblem oder die anderen häufigen Probleme habe, die in diesen anderen Beiträgen diskutiert werden.
EDIT: Gelöst dank EboMike und RivieraKid. Das waren eigentlich zwei verschiedene Probleme:
Punkt 2 oben (sudo: adb: Befehl nicht gefunden) wurde gelöst, indem ein Symlink wie folgt erstellt wurde:
$ sudo ln -s /opt/android-sdk-linux_x86/platform-tools/adb /usr/local/sbin/adb
Dadurch konnte ich dann tun, was EboMike vorgeschlagen hatte, und diese Lösung verwenden . Dies war für meinen Moto Droid erforderlich. ( Für mein Viewsonic G-Tablet war es jedoch nicht erforderlich, adb als sudo auszuführen.)
Meine beiden anderen Probleme wurden gelöst, indem die udev-Regel implementiert wurde, wie von RivieraKid vorgeschlagen (über diesen Link ).
Antworten:
Gibt es einen bestimmten Grund, warum Sie das nicht getan haben? Um die Frage zu beantworten - JA! Die udev-Regeln informieren Ubuntu über Ihr Gerät und ermöglichen User-Space-Tools den Zugriff darauf.
Sie können adb nicht verwenden, ohne die Anweisungen korrekt zu befolgen .
In diesem Sinne sagen Sie jedoch nicht, welche Ubuntu-Version Sie verwenden, aber ich hatte Probleme mit 10.10 - lassen Sie mich wissen, wenn ich den Inhalt meiner Regeldatei veröffentlichen muss.
Mach dir keine Sorgen, dass du adb über sudo laufen lässt, du brauchst es nicht. Mit
MODE="0666"
der udev-Regel können Sie als beliebiger Benutzer auf das Gerät zugreifen.BEARBEITEN:
Vergessen Sie nicht, die Regeln neu zu laden:
EDIT # 2:
Wie @Jesse Glick richtig hervorhebt, müssen Sie adb, wenn es bereits im Daemon-Modus ausgeführt wird, auch neu starten, damit dies funktioniert:
Ich habe hier sudo verwendet, da dies garantiert, dass adb getötet wird, und es ist die offiziell unterstützte Methode, um den Server zu stoppen. Es wird bei der nächsten Verwendung von adb automatisch neu gestartet, diesmal jedoch mit der richtigen Umgebung.
quelle
adb
Daemon neu starten , wenn er zuvor ausgeführt wurde.Sie müssen den ADB-Server als Root neu starten. Siehe hier .
quelle
me@desktop:/opt/android-sdk-linux_x86/platform-tools$ sudo adb kill-server sudo: adb: command not found me@desktop:/opt/android-sdk-linux_x86/platform-tools$ adb kill-server me@desktop:/opt/android-sdk-linux_x86/platform-tools$ sudo adb start-server sudo: adb: command not found
adb
ist nicht im Weg Ihres Superusers. Geben Sie einwhich adb
, um herauszufinden, in welchem Pfad es sich befindet, und fügen Sie diesen dem Pfad von root hinzu.Auf meinem Gentoo / Funtoo-Linux-System habe ich ähnliche Probleme:
Ich habe immer nicht die richtige Gerätebeschreibung und unzureichende Berechtigungen:
Für mich hilft das Howto von Google. In meinem Fall musste ich die udev-Regel hinzufügen:
und Einrichten der Dateisystemrechte
Nach dem erneuten Einstecken meines Smartphones war der Zugriff auf das Telefon erfolgreich. Es wird jetzt auch in der Android-Geräteauswahl von Eclipse angezeigt:
Sie müssen auch die Mitgliedschaft Ihres Benutzers in der plugdev- Gruppe überprüfen .
quelle
Jede Antwort, die ich gelesen habe, zeigt das an
SUBSYSTEM=="usb"
. Mein (vielleicht alter) Udev brauchte dies jedoch zu ändernDRIVER=="usb"
. Endlich kann ich den ADB-Server als Nicht-Root-Benutzer ausführen ... yay.Es kann lehrreich sein, die Ausgabe von udevmonitor --env zu betrachten, gefolgt von der Ausgabe von
quelle
udevmonitor
undudevinfo
gibt es nicht auf Ihrem Computer, verwendenudevadm monitor
undudevadm info -a -p ...
stattdessen.Bitte beachten Sie, dass IDEs wie IntelliJ IDEA dazu neigen, einen eigenen ADB-Server zu starten.
Selbst das manuelle Beenden des Servers und das Ausführen einer neuen Instanz mit sudo hilft hier erst, wenn Ihre IDE den Server selbst beendet.
quelle
Der Neustart des ADB-Servers als Root hat bei mir funktioniert. sehen:
quelle
Ich habe dieses Problem auf meinem Debian-GNU / Linux-System behoben, indem ich die Systemregeln folgendermaßen überschrieben habe:
Ich habe Inhalte aus Dateien verwendet, die unter folgender Adresse verlinkt sind: http://rootzwiki.com/topic/258-udev-rules-for-any-device-no-more-starting-adb-with-sudo/
quelle
HTC One m7 mit frischem Cyanogenmod 11.
Das Telefon ist über USB angeschlossen und verbindet meine Datenverbindung.
Dann bekomme ich diese Überraschung:
LÖSUNG: Schalten Sie das Tethering am Telefon aus.
quelle
Ich habe gerade die gleiche Situation, das Zurücksetzen der Werksdaten hat bei mir gut funktioniert.
quelle