Android Debug Bridge (ADB)

Aus Android Wiki

Die Android-Debug-Bridge (oft mit adb abgekürzt) ist eine Software-Schnittstelle für das Android-System, die genutzt werden kann, um von einem Computer per USB-Kabel auf ein Android-Smartphone zugreifen und Befehle ausführen zu können.[1]

Sie ist Bestandteil des Android SDK (Android Software Development Kit) und befindet sich dort im Ordner platform-tools. Bei früheren Versionen vom SDK befindet sie sich im Ordner tools. Seit dem Januar 2017 stellt Google zudem ein separat gepacktes Paket mit den platform-tools, in welchen die ADB und Fastboot enthalten sind, bereit, sodass auf ein Download des gesamten, im Vergleich zu der ADB recht großen, SDK verzichtet werden kann.[2][3][4][5] Der Download-Link ist auf der Android-Developer-Seite zu finden.

Neben einer Kabel-gebundenen Verbindung zu einem Android-Gerät unterstützt die ADB auch die Kabel-lose Verbindung über eine TCP/IP-Verbindung, z.B. WLAN.[6]

Was ist ADB?[Bearbeiten | Quelltext bearbeiten]

Die ADB ist eine Software-Schnittstelle zwischen dem PC und dem Endgerät, die es erlaubt, eine direkte Kommunikation zwischen den beiden Komponenten zu führen. Dazu gehören eine Dateiübertragungsfunktion genauso wie die Möglichkeit, mittels ADB Befehle auf dem Android-System auszuführen und auf Komponenten des System zuzugreifen. Die ADB lässt sich über ein Kommandofenster, "cmd" bei Windows, starten und bedienen. Die ADB hat bisher noch keine offizielle grafische Benutzeroberfläche.

Der Hauptvorteil der ADB ist, dass man auch Befehle direkt an das Gerät senden kann, als würde man die Befehle in einem Terminal-Emulator auf dem Gerät tätigen.

Neben der Möglichkeit, die ADB über eine USB-Kabel-Verbindung zu nutzen, besteht ebenfalls die Möglichkeit, die ADB über eine TCP-Verbindung (damit prinzipiell auch über WLAN) anzusprechen und zu nutzen.

Wichtige Befehle[Bearbeiten | Quelltext bearbeiten]

Hier einige der wichtigsten ADB-Befehle. Eine Auflistung aller Befehle findet man im Terminal bzw. der Eingabeaufforderung mit folgendem Befehl:

adb help

Geräte anzeigen[Bearbeiten | Quelltext bearbeiten]

Verfügbare Geräte können mit

adb devices

aufgelistet werden.

Ist die Ausgabe ähnlich der folgenden:

List of devices attached

hat man höchstwahrscheinlich keine Treiber installiert.

Ähnelt die Ausgabe aber so:

List of devices attached
????????????	no permissions

muss man unter Windows die Vendor ID des Endgerätherstellers (zu finden im Geräte-Manager) in folgende Datei reinschreiben (Format: 0xZZZZ, wobei Z eine hexadezimale Zahl von 0 bis F ist): %USERPROFILE%\.android\adb_usb.ini

Wichtig ist, dass die Vendor ID in einer eigenen Zeile steht. Unter Linux ist die Datei im Home-Verzeichnis im Ordner .android zu finden. Die Vendor-ID lässt sich mit lsusb herausfiltern.

Dateien kopieren[Bearbeiten | Quelltext bearbeiten]

  • Vom Handy auf den Computer:
adb pull /pfad/am/handy.txt /pfad/am/computer.txt
  • Vom Computer auf das Handy:
adb push /pfad/am/computer.txt /pfad/am/handy.txt

Anwendung installieren[Bearbeiten | Quelltext bearbeiten]

Mithilfe der ADB kann man auch Apps installieren. Dabei muss man beachten, dass die .apk-Datei am Computer liegen muss:

adb install /pfad/zur/datei/anwendung.apk

Logcat[Bearbeiten | Quelltext bearbeiten]

Hauptartikel: Logcat

Man kann sich via ADB auch den Systemlog ansehen:

adb logcat

Sinnvoll ist es, die Daten in eine Datei umzuleiten:

adb logcat > datei.txt

Shell betreten[Bearbeiten | Quelltext bearbeiten]

Hauptartikel: Shell

Um Befehle auf dem Android-Gerät auszuführen, kann mit folgendem Befehl eine interaktive Shell betreten werden:

adb shell

Installation[Bearbeiten | Quelltext bearbeiten]

Installation und adb als Systemvariable unter Windows einrichten[Bearbeiten | Quelltext bearbeiten]

Damit man nicht jedes Mal in den Ordner mit der adb.exe navigieren muss, wenn man sie benötigt, kann man sie unter Windows als Systemvariable eintragen und somit in jedem Ordner nutzen. Dazu geht man unter Windows 7 wie folgt vor:

  1. Systemsteuerung
  2. System und Sicherheit
  3. System
  4. Erweiterte Systemeinstellungen (an der linken Seite)
  5. Umgebungsvariablen

Danach bei "Systemvariablen" (unten) bei Path den Pfad eures platform-tools-Ordners eintragen. Von den anderen dort eingetragenen Pfaden einfach durch ein ; ohne Leerzeichen trennen (siehe Bild).

Wenn ihr nun die Eingabeaufforderung an beliebiger Stelle ausführt, sollte die Eingabe von

adb

eine Auflistung aller adb-Befehle bringen.

Bei android-hilfe.de[7] findet ihr auch nochmal die Anleitung und den platform-tools-Ordner als Download.

Linux[Bearbeiten | Quelltext bearbeiten]

Die größeren Linux-Distributionen enthalten die Tools ADB und Fastboot als Paket. Beispiele:

Distribution Paketname
Ubuntu, Debian android-tools-adb
openSUSE, Fedora, Arch Linux android-tools
Slackware android-tools (als SlackBuild)

Auf den anderen Distributionen sucht man mit dem entsprechenden Paketmanager nach "android" oder "adb", und installiert dann das passende. Sollten keine Pakete zur Verfügung stehen, startet man eine Installation des Android-SDK und wählt nur die "Platform tools" aus.

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Dokumentation zu ADB (englisch)
  2. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatVorlage:Internetquelle/Wartung/Datum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. In: Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. 2017-01-05, abgerufen am 2017-03-05.Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  3. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatVorlage:Internetquelle/Wartung/Datum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. 2017-01-05, abgerufen am 2017-03-05.Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  4. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatVorlage:Internetquelle/Wartung/Datum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. 2017-01-06, abgerufen am 2017-03-05.Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  5. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatVorlage:Internetquelle/Wartung/Datum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. 2017-01-06, abgerufen am 2017-03-05 (en-us).Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  6. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. In: Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. Abgerufen am 2019-10-29 (english).Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  7. platform-tools Ordner(SDK) mit adb und fastboot - Android-Hilfe.de