Ich kann mein Nexus 4-Telefon nicht von ADB auf Ubuntu erkennen lassen (12.04 mit einem neueren installierten Kernel: 3.8.0-30-generic). Der Entwicklermodus ist auf dem Telefon aktiviert.
Das Gerät wird in lsusb angezeigt :
$lsusb ... Bus 003 Gerät 034: ID 18d1:4ee5 Google Inc. ...
Aber wenn ich adb-Geräte ausführe, erhalte ich eine leere Liste. Ich habe viele Beiträge im Internet zu diesem Problem gefunden, aber keiner von ihnen löst das Problem. Es gibt zwei Lösungen.
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4ee5", MODE="0666" GROUP="androiddev", SYMLINK+="android%n" SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", SYMLINK+="android_adb", MODE="0666" SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee5", MODE="0666", OWNER="my-login"
Nachdem ich dies hinzugefügt habe, habe ich die Berechtigungen für die Regeldatei auf 644 gesetzt und den PC neu gestartet / udev neu gestartet, das Telefon neu gestartet und mein Nexus 4 angeschlossen.
echo 0x18d1 >> ~/.android/adb_usb.ini
Ich habe adb-Geräte als root und als normaler Benutzer ausgeführt, aber ich bekomme nur eine leere Liste:
$ adb-Geräte * Daemon läuft nicht. Starten Sie es jetzt auf Port 5037 * * Dämon erfolgreich gestartet * Liste der angeschlossenen Geräte
Irgendwelche Ideen, wie man dieses Problem lösen kann? Jede Hilfe von Vorschlägen wäre sehr willkommen.
Es reicht nicht aus, die Seite mit den Entwickleroptionen im Einstellungsmenü anzuzeigen (durch wiederholtes Antippen der Build-Nummer). Auf dieser Seite gibt es eine Option USB-Debugging , die standardmäßig deaktiviert ist.
Wenn USB-Debugging aktiviert ist, wird beim Anschließen Ihres Geräts an einen PC über USB die Benachrichtigung „USB-Debugging verbunden“ angezeigt, unabhängig davon, ob adb
es derzeit auf dem PC ausgeführt wird.
Für eine vollständigere Anleitung, wie Sie die Nexus 4 udev-Regeln auf Ubuntu konfigurieren, folgen Sie diesen Anweisungen:
Sie können eine Anbieter-ID für über USB angeschlossene Geräte mit dem folgenden Linux-Befehl finden:
lsusb
Dadurch wird eine Liste aller angeschlossenen USB-Geräte erstellt. Stellen Sie also sicher, dass Ihr Gerät angeschlossen ist, bevor Sie dies tun.
Bus 001 Device 004: ID 18d1:4ee2 Google Inc.
Der erste Teil des Feldes nach ID ist die Hersteller-ID (18d1) und der zweite Teil entspricht dem Modus, in dem das Gerät angeschlossen ist. In diesem Fall entspricht 4ee2 dem MTP-Modus mit eingeschaltetem Debug.
Um das Nexus 4-Telefon unter Ubuntu erkennen zu können, müssen Sie zunächst die richtigen udev-Regeln erstellen, die es dem System ermöglichen, das Telefon zu erkennen.
Diese udev-Regeln sollten in der Lage sein, 4 verschiedene Fälle zu behandeln:
Sie werden in deklariert /etc/udev/rules.d/99-android.rules
. Wenn die Datei bereits vorhanden ist, fügen Sie einfach den Inhalt am Ende an.
# sudo gedit /etc/udev/rules.d/99-android.rules
Die folgenden Inhalte müssen hinzugefügt werden. Stellen Sie sicher, dass Sie das Feld your-login durch Ihren korrekten Benutzernamen ersetzen, mit dem Sie sich angemeldet haben.
# Google Nexus 4 16 Gb
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee1", MODE="0666", OWNER="your-login" # MTP media (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee2", MODE="0666", OWNER="your-login" # MTP media with USB debug on(multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee5", MODE="0666", OWNER="your-login" # PTP media (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee6", MODE="0666", OWNER="your-login" # PTP media with USB debug on (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee0", MODE="0666", OWNER="your-login" # Bootloader
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666", OWNER="your-login" # Recovery
Danach muss der udev-Dienst neu gestartet werden.
# sudo service udev restart
Beachten Sie, dass es in einigen Fällen auch erforderlich ist, adb neu zu starten mit:
adb kill-server
adb start-server
Oder starten Sie das System komplett neu mit:
sudo reboot -n
Das erneute Anschließen des USB-Kabels (anstelle eines Neustarts) könnte ebenfalls funktionieren.
Wenn Sie gerade die ADB-Debug-Option auf Ihrem Telefon aktiviert und diese neue Verbindung erstellt haben, listet der ADB-Befehl Ihr Gerät möglicherweise als auf unauthorized
. Überprüfen Sie einfach den Bildschirm Ihres Telefons, um die neue Verbindung zu autorisieren.
Die meisten dieser Informationen wurden unter http://bernaerts.dyndns.org/android/267-android-nexus4-root-twrp-ubuntu gefunden . Dies ist eine Rooting-Anleitung für Nexus 4 auf Ubuntu. Ich habe nur den ersten Schritt dieser Anleitung verwendet.
sudo
. Das Telefon wird im MTP-Modus mit deaktiviertem Debug verbunden.Ich verwende Ubuntu 14.04 LTS und habe festgestellt, dass ich adb mit Root-Berechtigungen ausführen muss, damit es mein Telefon erkennt. Gerade eben bin ich (aus dem Plattform-Tools-Verzeichnis) gelaufen ./adb devices
und habe eine leere Liste erhalten. Ich habe adb als root neu gestartet, indem ich ./adb kill-server
und dann ausgeführt habe sudo ./adb start-server
. Gibt jetzt adb devices
zurück:
List of devices attached
01d17087d29dec60 device
Wobei es vorher so aussah:
Liste der angeschlossenen Geräte
FYI: Ich habe kürzlich die Android-Version von 4.4 auf 5.0 auf meinem Telefon aktualisiert und ADB zeigte das Gerät nicht mehr als verbunden an. Es scheint, wo die USB-Verbindungsmethode MTP richtig war, bevor es jetzt PTP sein muss .
Luis de Sousa
Dan Hulme
Luis de Sousa
adb
weil der Touchscreen kaputt ist. Ich habe keine Möglichkeit, auf seine Menüs und Anwendungen zuzugreifen. Gibt es eine andere Möglichkeit, diese USB-Debugging-Funktion zu aktivieren?