Sunday 31 January 2016

adb und fastboot | Linux | Installation | Einrichtung | Anleitung

Beginnen wir mit der Installation. Öffnet das Terminal und führt diese beiden Befehle aus:
[1] sudo apt-get install android-tools-adb
[2] sudo apt-get install android-tools-fastboot
Sollte Linux eine neue Welt für euch sein, dann wird euch dieser Artikel erklären, was das Terminal ist, wie es gestartet wird und wie Ihr damit arbeiten könnt. Dabei spielt es keine Rolle, ob Ubuntu oder Linux Mint oder gar ein andere Linux-Distribution - Terminal bleibt Terminal (in diesem Fall). 
Damit wäre fastboot und adb installiert. Startet euren Rechner neu und schon könnt Ihr damit arbeiten.

Sollte es Probleme geben, dann könnte Ubuntu die Quellen nicht aktualisiert haben. Momentan ist das der Fall und wer Android 5.x.x Lollipop nutzt, der könnte Probleme bekommen. 
Führt den Befehl adb version aus. In meinem Fall war Version 1.0.31 installiert. Die neuste Version wäre aber 1.0.32. Wer die neue Version installieren möchte, der führt diese Befehle aus:
[1] wget -O - https://skia.googlesource.com/skia/+archive/cd048d18e0b81338c1a04b9749a00444597df394/platform_tools/android/bin/linux.tar.gz | tar -zxvf - adb
[2] sudo mv adb /usr/bin/adb
[3] sudo chmod +x /usr/bin/adb
Ihr könnt das Bild oben anklicken, um es zu vergrößern, dann könnt Ihr noch einmal sehen, wie Ihr vorgehen solltet. Sollte als Ausgabe erscheinen Android Debug Bridge version 1.0.32, dann müsst Ihr das natürlich nicht tun. 

In der Anleitung (um zum Beispiel den Bootloader zu entsperren oder um ein Recovery zu flashen) wird oft an erster Stelle stehen "führt den Befehl adb devices aus". Im Bild oben sollte jetzt unter dem List of devices attached eine Nummer stehen, was aber nicht der Fall ist. Was könnte jetzt das Problem sein? 
In 90% der Fälle wäre das die Lösung: 
Führt im Terminal den Befehl lsusb aus. Dieser Befehl listet alle Geräte auf, welche per USB am Rechner angeschlossen sind. Habt Ihr ein Nexus, dann wird etwas wie Google dahinter stehen. In meinem Fall - das ZUK Z1 - steht nichts da. Deshalb führe ich den Befehl zwei mal aus, um zu sehen, welche Zeile verschwindet, wenn mein Z1 nicht mehr angeschlossen ist. 
In diesem Fall wäre das:
Bus 004 Device 007: ID 2b4c:1001
Hier können wir die Manufacturer ID und Model ID herauslesen. Führt jetzt den Befehl:
sudo nano /etc/udev/rules.d/51-android.rules
aus und es erscheint dieses Bild:
In meinen Fall muss ich jetzt diese Zeile reinkopieren:
#ZUK
SUBSYSTEM=="usb", ATTR{idVendor}=="2b4c", MODE="0664", GROUP="plugdev"
STRG gedrückt halten und O drücken, mit der Entertaste bestätigen und mit STRG und X das Fenster wieder schließen (siehe unten im Bild die Bedeutung der Buchtstaben). Ob HTC, LG, OnePlus, Sony, usw. usf. hier findet Ihr eine Liste mit allen Geräten. Dort sucht Ihr euch einfach die aus, die zu eurem Gerät passt. Ich habe extra diese Seite verlinkt, da diese aktualisiert wird. 

Sollte dann mit dem Befehl adb devices eine Zahl erscheinen aber dahinter ein unauthorized stehen, dann müsst Ihr auf euer Gerät schauen. 
Der Fingerabdruck des RSA-Schlüssels für diesen Computer lautet...
Hier ein Haken setzen und mit OK bestätigen. Jetzt wird dieses unauthorized nicht mehr erscheinen und Ihr könnt mit adb arbeiten!

Wenn es weiterhin nicht funktioniert, dann führt den Befehl groups aus. 
Sollte in der Zeile darunter plugdev nicht erscheinen, dann führt Ihr den Befehl
sudo gpasswd -a BENUTZERNAME plugdev
aus. Ihr musst anstelle von BENUTZERNAME euren Benutzernamen eintragen. Kleiner Tipp für alle, die neu dabei sind... Wie oben im Bild zu sehen, steht euer Benutzername vor dem @ - in meinem Fall muhamed. Dann einen Neustart durchführen und es wieder probieren. 

Die letzte Möglichkeit, welche mir bekannt ist (dank OnePlus) wäre diese:
sudo nano ~/.android/adb_usb.ini
ausführen, dann erscheint dieses leere Fenster, wie schon im Beispiel oben.
Hier die vendor ID eintragen. Sollte euch diese nicht bekannt sein, dann einfach Google danach fragen, wie z.B. "xperia z3 vendor id" und schon findet Ihr diese. STRG gedrückt halten und O drücken, mit Entertaste bestätigen und dann wieder STRG gedrückt halten und X drücken, um das Fenster zu schließen. 

Ein Neustart ist eigentlich nicht notwendig aber damit könnt Ihr nicht falsch machen...
adb kill-server beendet adb bzw. schießt es ab.
adb start-server startet adb.


Leider kann ich euch keine weiteren Tipps geben. Sollte es jetzt nicht funktionieren, dann wüsste ich beim besten Willen nicht, was man noch tun könnte. 
Was ich euch aber noch sagen kann (aus Erfahrung):
- für adb kein USB 3.0 verwenden! fastboot funktioniert bei mir mit USB 3.0 aber adb nicht!
- die Wahl des USB-Kabels ist wichtig. Es gibt Kabel, welche nur für das Laden des Akkus bestimmt sind, wie die von Anker (nicht alle aber einige). 
- bei Type C hatte ich zu Beginn richtig Probleme. Ich habe zwei Kabel vom ZUK Z1, das eine will nicht, das andere schon, beim OnePlus Type C Kabel hatte ich keine Chance (drei Stück habe ich davon). Was aber immer funktioniert hat war ein Adapter von Type C auf micro USB. Habe ein altes USB 2.0 Kabel mit Type C Adapter genutzt und das hat immer funktioniert.
- ein USB HUB (2.0) hat mir keine Probleme bereitet, nur einmal wollte es nicht aber direkt am Rechner schon. Mit dem USB 3.0 HUB gab es mit adb keine Verbindung, bei fastboot schon.
- achtet bitte bei den Anleitungen genau auf die Seite oder den Ersteller der Anleitung. Es gibt viele Seiten, welche einfach alte Anleitungen übernehmen, ohne diese zu testen. Beim ZUK zum Beispiel wird der Befehl fastboot devices nicht funktionieren, es müsste fastboot -i 0x2b4c devices sein. 
- ein sudo vor dem Befehl hilft 2016 vielen bereits weiter. Oft werden die Befehl ohne sudo aufgeführt, dabei ist es oft genau das Problem. Damit ist fastboot und nicht adb gemeint!
- viele Anleitungen beginnen mit adb devices, führen dann zu adb reboot bootloader und machen mit fastboot-Befehlen weiter. Diesen Schritt könnt Ihr überspringen, da Ihr per Tastenkombination direkt zum Bootloader springen könnt (oft ist die Rede von fastboot-mode). In der Regel findet Ihr bei Youtube ein Video, wo es euch vorgemacht wird. Die wenigsten werden dann per adb Dateien auf das Gerät kopieren (adb push ... Befehle). Sollte das aber notwendig sein, dann solltet Ihr die abd Befehle nicht überspringen, da Ihr diese später benötigt. 
- wer Android 5.1.1 auf seinem Smartphone hat, der benötigt 1.0.32. Alles darunter führt dazu, dass das Gerät nicht erkannt wird und adb einfach nicht funktioniert. Für Android 6.0.2 Marshmallow gilt natürlich das selbe. Ob es sich bei 6.1 ändert kann ich zum jetzigen Zeitpunkt nicht sagen (kann sein das 1.0.32 zu alt ist).
- bei Herstellern wie Sony gab es nie Probleme. Es lief alles gleich zu Beginn. Bei neuen Herstellern, wie OnePlus oder ZUK könnte es Probleme geben. Mit den Punkten oben sollte aber eine Lösung gefunden werden. 
- diese Punkte oben funktionieren unter Linux Mint 17.3 und Ubuntu 14.04 bzw. auch 15.10. In Zukunft - sprich Linux Mint 18 oder Ubuntu 16.04 könnte es Änderungen geben (besonders die Rechteverwaltung führt oft zu Problemen, wie beim Drucker). Achtet deshalb immer darauf, ob es nicht etwas "neues" gibt. Oft wäre das nur ein Befehl und alle eure Probleme werden damit gelöst. 
- Android baut immer mehr Sicherheit ein. In den Anleitung wird oft stehen USB-Debugging aktivieren (in Zukunft wird das durch Android-Debugging ersetzt - einfach ein neuer Name). Oft müsst Ihr die OEM-Entsperrung bzw. Bootloader-Enstperrung in den Entwickleroptionen freigeben. Sollte also der Befehl zum Bootloader entsperren nicht funktionieren, dann einfach mal schauen, ob Ihr nicht ein Feld, wie dieses im Bild, bei eurem Smartphone findet. 

No comments:

Post a Comment