Aktivieren Sie das USB-Debugging auf dem Gerät
Dies erfolgt unter Einstellungen ›Entwicklung . Wenn Sie diesen Eintrag nicht in Ihrem Einstellungsmenü haben, gehen Sie zu Einstellungen ›Info , scrollen Sie zur" Build-Nummer "und hämmern Sie sie wie einen Affen, bis Ihr Gerät Sie als Entwickler beglückwünscht. Kehren Sie zur Hauptseite des Einstellungsmenüs zurück , und ganz unten sollten Sie jetzt die Einstellungen für "Entwicklung" (oder "Entwickler") sehen. Geben Sie es ein und aktivieren Sie das USB-Debugging hier.
Identifizieren Sie das Gerät
Zuerst müssen wir wissen, wie sich das Gerät auf dem USB-Bus identifiziert. Nehmen Sie dazu bei NICHT verbundenem Android-Gerät eine Shell und führen Sie den Befehl aus lsusb
. Schließen Sie dann das Gerät an und führen Sie den Befehl erneut aus. Finde die neue Linie. Für den Wileyfox Swift ist dies ein "namenloses Gerät":
Bus 004 Device 003: ID 2970:2282
Einrichten der Regeln für ADB
Wir müssen jetzt die Zahlen am Ende der Zeile oben: 2970:2282
. Diese geben den Anbieter (2970) und das Gerät selbst (2282) an. Mit diesen Details benötigen wir eine Root- Shell auf unserem Linux-Rechner, um die /etc/udev/rules.d/51-android.rules
Datei zu bearbeiten (oder zu erstellen, falls sie noch nicht existiert) . Fügen Sie dort eine Zeile für Ihr Gerät hinzu. Die folgende Beispielzeile zeigt, wie es für den Wileyfox Swift aussieht : ¹
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2970", ATTRS{idProduct}=="2282", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"
Wenn Sie ein anderes Gerät haben, ersetzen Sie die Hersteller- und Produkt-IDs durch die oben beim Ausführen gefundenen lsusb
. Eine kurze Erklärung der Zeile:
SUBSYSTEMS=="usb"
: natürlich gilt diese Regel nur für USB;)
ATTRS{idVendor}=="2970"
: Die Hersteller-ID des Geräts, für das diese Regel gilt
ATTRS{idProduct}=="2282"
: die Geräte-ID
MODE="0666"
: Berechtigungen, die der Geräteknoten erhalten soll. 0666
Es ist ziemlich lässig, jedem Benutzer auf Ihrem System Lese- und Schreibrechte zu erteilen. Wenn Sie also Bedenken haben, können Sie versuchen, diese durch ein zu ersetzen 0660
(nur Eigentümer und Gruppe können Lese- und Schreibrechte erteilen und anderen alles verweigern).
GROUP="androiddev"
: Zu welcher Gruppe der Geräteknoten gehören soll. Dies sollte eine Gruppe sein, zu der die Benutzer gehören, die mit dem Gerät arbeiten sollen.
SYMLINK+="android%n"
: nur um dem Knoten einen schönen Namen zu geben, damit du ihn leichter finden kannst /dev
(in meinem Fall tauchte er später dort auf als /dev/android5
)
/etc/udev/rules.d/51-android.rules
Wir müssen sagen udev
, dass diese Regel in Kraft getreten ist , um sie zu nutzen. Der sicherste Weg (neben einem Neustart;) ist ein Neustart des udev
Dienstes. Abhängig von Ihrer Linux-Distribution kann dies entweder über service udev restart
oder erfolgen /etc/init.d/udev restart
.
Wenn Sie das getan haben, verlassen Sie die Root-Shell. Trennen Sie Ihr Android-Gerät und schließen Sie es adb devices
erneut an. Versuchen Sie es erneut. Die meisten Geräte tauchten jetzt auf, aber nicht der Wileyfox Swift - der offensichtlich ein paar zusätzliche Kuschelpartien möchte. Wenn Sie in dieser Situation sind, öffnen Sie die Datei (oder erstellen Sie sie, falls sie nicht vorhanden ist) ~/.android/adb_usb.ini
und fügen Sie eine einzelne Zeile hinzu, wobei Sie den oben genannten Hersteller angeben lsusb
. für den Swift wäre das 0x2970
(yupp, hier musst du es voranstellen, um 0x
darauf hinzuweisen, dass es eine hexadezimale Zahl ist). Dann starten Sie den ADB - Server: adb kill-server && adb start-server
. Trennen Sie das Gerät vom Computer und schließen Sie es erneut an. Jetzt adb devices
sollte es sehen.
Gerät anschließen
Sie haben vielleicht bemerkt, adb devices
dass Ihnen so etwas erzählt wurde 0123456789ABCDEF unauthorized
. Das ist in Ordnung und dient Ihrer (Geräte-) Sicherheit: Ihr Computer muss zuerst autorisiert werden, um auf das Gerät zugreifen zu können. Also einfach adb shell
jetzt ausgeben - mit error: device unauthorized. Please check the confirmation dialog on your device.
dem Hinweis "Folgen Sie diesem Hinweis" beenden (optional das Kästchen ankreuzen, um Ihren Computer dauerhaft zu autorisieren) und fertig: Jetzt können Sie mit adb auf Ihr Gerät zugreifen.
Aktualisierung:
¹ Beachten Sie, dass sich in späteren Linux-Versionen die Syntax für die UDEV-Regeln geringfügig geändert hat, wie z. B. jcomeau_ictx in seinem Kommentar ausgeführt hat. Für die oben gefundenen Werte wäre das:
SUBSYSTEM=="usb", ATTR{idVendor}=="2970", ATTR{idProduct}=="2282", MODE="0666", GROUP="plugdev", SYMLINK+="android%n"
Zwei Unterschiede: Es ist jetzt SUBSYSTEM
(kein Plural), und die Gruppe hat sich von androiddev
zu geändert plugdev
(Ersteres ist auf neueren Systemen nicht vorhanden, Letzteres ist vorhanden und wird normalerweise mindestens dem ersten Benutzer zugewiesen).
Außerdem müssen Sie möglicherweise die VendorID zu Ihrer ~/.android/adb_usb.ini
ID hinzufügen (eine ID pro Zeile in hexadezimaler Schreibweise):
# ANDROID 3RD PARTY USB VENDOR ID LIST
# 1 USB VENDOR ID PER LINE.
0x2970