[[Vorlage(Baustelle, 31.10.2017, Heinrich_Schwietering)]] [[Vorlage(Getestet, xenial)]] {{{#!vorlage Tabelle [:Wiki/Tabellen:] }}} {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:sudo: Root-Rechte] [:Terminal: Ein Terminal öffnen] [:Editor:Einen Editor verwenden] }}} [:Wiki/Kopiervorlage:] [[Inhaltsverzeichnis()]] [[Bild(./android-logo.jpg, 80, left)]] ADB ('''A'''ndroid '''D'''ebug '''B'''ridge) ist eine Software-Schnittstelle (aus dem Android-SDK), um vom Computer aus Android-Handys zu verwalten, Anwendungen zu installieren oder Daten auszutauschen Es können ggf. auch ganze ROMs installiert ("geflasht") werden ("adb sideload"). Dabei ist eine Verbindung sowohl über USB-Kabel aus auch über WiFi möglich. Das Programm ist unter Windows, iOS und Linux nutzbar. = Installation = Es gibt verschiedene Möglichkeiten, das Programm zu installieren[1]. Aus den offiziellen Quellen kann folgendes Paket installiert werden {{{#!vorlage Paketinstallation android-tools-adb }}} Alternative kann es aus der Android-SDK-Suite bezogen werden; die beiden Installationsarten schließen sich aber gegenseitig aus. {{{#!vorlage Paketinstallation adb }}} == Aktuelle Versionen == Die jeweils aktuellste Version (z.B. 1.0.39, Oktober 2017) kann als Teil der SDK Platform Tools von der Download-Seite des Projekts [https://developer.android.com/studio/releases/platform-tools.html Platform Tools] {en}/{dl} bezogen werden. Das heruntergeladene Linux-Archiv entpacken[2], die u.a. darin befindliche Datei '''adb''' kann direkt verwendet werden; ggf. für systemweite Nutzung in ein im `PATH` vorgesehenes Verzeichnis verschieben, z.B. '''/usr/local/bin''' (Rootrechte[3] erforderlich!). Die neuere Version verträgt sich nicht mit einer aus den Quellen installierten adb, diese ggf. also wieder deinstallieren! == udev-Regel == Die passenden [:udev:]-Regeln für verschiedenste Hersteller werden am einfachsten über das Paket '''android-sdk-platform-tools-common''' installiert, die Regel befindet sich in '''/lib/udev/rules.d/51-android.rules'''. Bei Bedarf können weiterer Hersteller-Einträge hinzugefügt werden. Dazu benötigt man die Vendor-ID (z.B aus der `lsusb`-Ausgabe bei angeschlossenem Gerät auslesbar, erster Teil der Ausgabe), in folgender Form können dann in einem Editor[3] mit Root-Rechten neue Einträge hinzugefügt werden. {{{ #HERSTELLER SUBSYSTEM=="usb", ATTR{idVendor}=="XXXX", MODE="0664", GROUP="plugdev" }}} Mit {{{#!vorlage Befehl sudo udevadm control --reload-rules }}} werden die Regeln dann neu gestartet. = Verwendung = Auf dem Android-Handy muss in den Einstellungen unter Entwickleroptionen USB-Debugging aktiviert werden, damit eine Verbindung zustande kommen kann, bei neueren Android-Versionen ggf. auch die OEM-Entsperrung aktivieren (Bootlader-Entsperrung). Um auf das Handy zugreifen zu können muss auf dem Handy der Zugriff gestattet werden. adb ist ein reinen Kommandozeilenwerkzeug, die allgemeine Syntax lautet {{{#!vorlage Befehl adb OPTION BEFEHL }}} Um als erstes festzustellen, ob das Android-Gerät erreichbar ist, wird der Befehl {{{#!vorlage Befehl adb devices }}} Falls adb in der aktuellen Sitzung noch nicht verwendet worden ist, meldet das Terminal zunächst der Start des adb-Servers, danach erscheint, wenn alles glatt geht, etwas wie {{{ * daemon not running. starting it now on port 5037 * * daemon started successfully * List of devices attached 5200d6fd904b2200 device }}} Falls stattdessen nach `List of Devices attached` nur eine Leerzeile erscheint, wird das Gerät (noch) nicht erreicht; in den USB-Verbindungs-Einstellungen auf dem Handy überprüfen, ob ggf. "''Nur Laden''" ausgewählt ist. Wenn statt `device` ein `unauthorised` steht, ist die Verbindung zwar erstellt worden, aber muss auf dem Handy bestätigt werden; dazu in einer auf dem Handy gezeigten Meldung den dauerhaften Zugriff bestätigen. Wird neben der Gerätenummer `recovery` ausgegeben, befindet sich das Gerät im [https://www.droidwiki.org/wiki/Recovery Recovery-Modus] {de}. [https://www.droidwiki.org/wiki/Wireless_ADB Wireless ADB] {en}, ein ggf. laufendes Programm adbd-insecure muss dafür ausgestellt sein! == Befehle und Optionen == {{{#!vorlage Tabelle <-3 rowclass="titel"> ADB-Befehle und Optionen +++ Befehl/Option mögliche Optionen Funktion +++ `device` `-l` listet die verbundenen Gerät auf, ggf. auch als IP-Adresse; `-l` liefert genauere Informationen +++ `push /PFAD/AUF/DEM/COMPUTER/DATEI /PFAD/AUF/DEM/HANDY/DATEI` Kopiert eine Datei vom Computer auf das Handy +++ `pull /PFAD/AUF/DEM/HANDY/DATEI /PFAD/AUF/DEM/COMPUTER/DATEI` Kopiert eine Datei vom Handy auf den Computer +++ `reboot` `[bootloader|recovery|sideload|sideload-auto-reboot]` Rebootet das Gerät in den Fastboot-Modus (`bootloader`), Recovery-Modus (`recovery`) `sideload` in den Recovery-Modus und startet den Sideload-Modus, mit `-auto-reboot` führt zum automatischen Reboot nach Ausführung des Sideload-Befehls. Nur mit USB-Verbindung sinnvoll, eine WiFi-Verbindung wird damit unterbrochen! +++ <|7>`install | install-multiple PAKETNAME (...)` `[-lrtsdg]` [[BR]] `-l: forward lock application` <|7>Installiert `PAKETNAME` auf dem Handy +++ -r: replace existing application +++ -t: allow test packages +++ -s: install application on sdcard +++ -d: allow version code downgrade (debuggable packages only) +++ -p: partial application install (install-multiple only) +++ -g: grant all runtime permissions +++ `uninstall PAKETNAME` `[-k]` Entfernt `PAKETNAME` vom Handy, -k erhält die Daten- und Cache-Ordner auf dem Handy +++ `backup` `[-f DATEI]`[[BR]] `[-apk|-noapk]`[[BR]] `[-obb|-noobb]`[[BR]] `[-shared|-noshared]`[[BR]] `[-all]`[[BR]] `[-system|-nosystem]`[[BR]] `[PACKAGE...]` +++ `restore BACKUP-DATEI` Stellt den Zustand aus '''BACKUP-DATEI''' wieder her +++ `shell` `[-e ESCAPE] [-n] [-Tt] [-x] [COMMAND...]` Öffnet eine interaktive Shell auf dem Handy +++ `sideload OTA-PAKET` Installiert `OTA-PAKET` (z.B. ein komplettes ROM). [[Vorlage (Warnung, "Mit größter Umsicht anwenden! Die Installation ungeeigneter OTA-Pakete zu __schwerwiegenden Schäden__ führen!")]] }}} Eine ausführliche Anleitung findet sich in diesem [https://developer.android.com/studio/command-line/adb.html adb-Guide] {en} auf der Projektseite developer.android.com, der Befehl adb -h zeigt alle verwendbaren Optionen. = Alternativen = * [:Heimdall:] ist ein speziell für Samsung-Handys entwickeltes Programm zu Flashen. * [:Baustelle/fastboot:] gehört ebenfalls zu den Android Platform Tools. * [https://qtadb.wordpress.com/about/ QtADB] {en} ist eine Benutzeroberfläche, um adb und fastboot zu nutzen. = Links = * [https://developer.android.com/studio/releases/platform-tools.html Download] {en}/{dl} SDK Platform Tools * [https://www.androidpit.de/forum/470625/how-to-adb-tutorial-anfaengerfreundlich Einführung] {de} auf androitpit.de * [https://www.droidwiki.org/wiki/Android_Debug_Bridge Android Debug Bridge] {de} - Wiki-Eintrag auf droidwiki.de * [http://www.webupd8.org/2014/05/install-android-studio-in-ubuntu-via-ppa.html Android Studio] {en} - Anletung zum Installieren von Android Studio auf webupd8.org * [http://bernaerts.dyndns.org/linux/75-debian/280-debian-wheezy-android-tools-adb-fastboot-qtadb Anleitung] {en} für Debian * [https://linuxwelt.blogspot.de/2016/02/adb-und-fastboot-linux-installation.html Installations-Anleitung] {de} auf linuxwelt.blogspot.de #tag: Hardware, Android, Bildung, Büro, Kommunikation,