Die Android Debug Bridge als nützlicher Helfer

Android Debug Bridge. Schon mal gehört? Nein? Und wie sieht es mit ADB aus? Immer noch nicht? Dann ist dieser Artikel eine wahre Goldgrube für Dich, insofern Du ein Android-Smartphone besitzt. In diesem Artikel möchte ich auf die Möglichkeiten der ADB eingehen, die wichtigsten Befehle aufzeigen sowie erklären und natürlich auch wie ADB installiert bzw. eingerichtet wird. Worauf wartest Du noch? Los geht’s!

Warnung: Bei eventuellen Beschädigungen oder gar Zerstörung übernehmen weder wir, noch der Hersteller die Verantwortung! Die Verwendung dieser Anleitung erfolgt auf eigene Gefahr!

ADB – eine kurze Definition

An dieser Stelle möchte ich mich kurz halten: ADB steht für Android Debug Bridge und dient als Schnittstelle zwischen dem Android Smartphone und dem PC. Somit lassen sich verschiedenste Befehle vom PC auf dem Smartphone ausführen. Diese Schnittstelle ist hauptsächlich für Entwickler gedacht, jedoch bietet sie auch für den „normalen“ Nutzer sehr nützliche Funktionen.

Mein Kollege Lukas hat bereits hier einen sehr interessanten Artikel zur ADB geschrieben und ging auch in einem Absatz kurz auf die Einsatzzwecke ein. Dies möchte ich in diesem Artikel aufgreifen und noch etwas ausführen, um Dir einen direkten Einblick zu geben, was Du als Nutzer mit ADB nützliches anstellen kannst. Doch zuvor klären wir erstmal, wie das Ganze installiert und eingerichtet wird. Spoiler: Es ist einfach!

ADB installieren und einrichten

Zuallererst müssen wir auf unserem Smartphone das USB-Debugging aktivieren. Dazu gehen wir in die Einstellungen und navigieren zum Punkt Über mein Telefon. Dort tippen wir 7x auf die Build-Nummer bis wir die Meldung erhalten Du bist ein Entwickler. Nun gehen wir zurück in die Einstellungen und wechseln zum neuen Menüpunkt Entwicklereinstellungen. Hier aktivieren wir den Punkt USB-Debugging und bestätigen die nachfolgende Meldung mit OK.

Nun schließen wir unser Smartphone via USB an und installieren die dazu passenden USB-Treiber. Am Smartphone sollte nun die Frage kommen, ob wir USB-Debugging zulassen möchten. Diese Meldung bestätigen wir ebenfalls mit OK. Solltest Du planen ADB öfters zu verwenden, dann wäre es empfehlenswert einen Haken bei Von diesem Computer immer zulassen zu setzen.

Jetzt fehlt uns nur noch das Wichtigste: die ADB selbst. Dazu hat Google Entwickler Elliot Hughes die direkten Download-Links veröffentlicht. Diese gibt es für Windows, Linux und macOS. Nach dem Entpacken öffnet man die Eingabeaufforderung im Ordner der adb.exe. Dies lässt sich unter Windows mittels Shift+Rechtsklick und dann Eingabeaufforderung hier öffnen einfach umsetzen. Zum Überprüfen, ob die Treiber richtig installiert wurden, geben wir in die Eingabeaufforderung den Befehl adb devices ein. Nun sollte Dir etwa sowas angezeigt werden:

Die wichtigsten ADB-Befehle im Überblick

adb devices

Schon mal gehört? Nein? Dann scrolle mal ein paar Zeilen nach oben. So, da Du schon mal davon gehört hast, weißt Du sicherlich was sich mit diesem Befehl alles anstellen lässt. Genau, dadurch werden uns alle verbunden Geräte und der dazugehörige Modus, in welchem sich das Gerät gerade befindet angezeigt. Standardmäßig sollte sich das Gerät im Modus device befinden, denn das ist der Fall, wenn unser Smartphone hochgefahren und im laufenden Betrieb verbunden ist. Andere Modi wären bspw. recovery, was selbsterklärend ist, und dann wäre da noch sideload, wenn wir unser Smartphone über die Recovery in den Sideload-Modus versetzen, um ein OTA-Update (Over the Air) manuell durchzuführen.

adb sideload [Pfad zur Zip-Datei]

Damit uns dieser Befehl treue Dienste leisten kann, muss das Smartphone, wie bereits im oberen Abschnitt erwähnt, über die Recovery in den Sideload-Modus versetzt werden. Zusätzlich benötigen wir die OTA-Update-Datei im ZIP-Format. Diese packen wir der Einfachheit halber in denselben Ordner wie ADB und tippen den obigen Befehl in die Eingabeaufforderung ein. Nun wird die Update-Datei auf unserem Smartphone installiert. Dies könnte so aussehen:

adb sideload update.zip

Wichtig ist hierbei, dass das Smartphone nicht vom PC getrennt wird oder die Eingabeaufforderung beendet wird. Dies könnte zu einem sogenannten Soft-Brick und daraus resultierend zu einem Bootloop führen. Kurz und bündig: Das System startet nicht mehr. Dies lässt sich im Normalfall aber wieder ziemlich einfach beheben.

adb backup -apk -shared -all -f [Pfad zum Ordner für die Backup-Datei]

Damit im Falle eines Soft-Bricks nicht alles verloren ist, lässt sich mit ADB ganz einfach ein Backup des kompletten Systems machen inkl. des internen Speichers. Mit dem obigen Befehl wird genau dies durchgeführt. Sobald Du diesen Befehl eingibst, musst Du als erstes auf Deinem Smartphone bestätigen, dass Du das Backup durchführen möchtest. Hierbei hast Du die Möglichkeit noch ein Passwort einzugeben, um das Backup zu sichern. Danach braucht es Geduld. Je nach Umfang des Backups kann der Vorgang bis zu zwei Stunden dauern. Doch meist ist ein Backup bereits nach 10-15 Minuten erledigt. Es gibt natürlich noch verfeinerte Modi, falls man nicht alles sichern möchte:

  • -apk|-noapk (Sichert/sichert nicht die .apk-Dateien ebenfalls im Backup)
  • -shared|-noshared (Sichert/sichert nicht den internen Speicher)
  • -all (Sichert alle installierten Apps inkl. System-Apps)
  • -system|-nosystem (Sichert/sichert nicht die System-Apps. Bei -all werden automatisch die System-Apps mitgesichert)
  • <Paketname> (Hier kann man explizite Apps eintragen, falls man nicht alle Apps sichern möchte)
  • -f [Pfad] (Hiermit lässt sich ein Pfad für die Backup-Datei festlegen. Lässt man diese Option weg, wird die Datei backup.ab im aktuellen Verzeichnis angelegt)
adb restore [Pfad zur Backup-Datei]

Was nützt es denn, ein Backup zu erstellen, wenn man es nicht wiederherstellen kann, oder? Dies erledigt der obige Befehl. Nach Eingabe des Befehls muss auf dem Smartphone die Wiederherstellung bestätigt werden sowie das vorher optional gewählte Passwort eingegeben werden.

adb push [Pfad PC] [Pfad Smartphone]

Obigen Befehl verwenden wir, um eine Datei von unserem PC auf das Smartphone zu übertragen. (Wir drücken (push) etwas aufs Smartphone) Klar könnte man die Datei auch über den üblichen Weg übertragen, doch was, wenn dies nicht möglich ist, bspw. wenn das System nicht mehr startet? Dazu kann man diesen ADB-Befehl in einer Custom Recovery verwenden um ggf. wichtige Dateien auf das Smartphone zu schicken.

adb pull [Pfad Smartphone] [Pfad PC]

Wenn man etwas zum Smartphone schicken kann, dann kann man dies natürlich auch umgekehrt. (Wir ziehen (pull) etwas vom Smartphone) Dies ist ebenfalls ein nützlicher Befehl, wenn man noch Daten vom Smartphone holen muss, während man in der Custom Recovery feststeckt.

adb install [Pfad zur APK-Datei]

Schlimm, wenn man bequem ist, oder? Statt die APK-Datei einfach auf sein Smartphone zu schieben und von dort zu installieren, verwendet man einfach die Eingabeaufforderung. Oder sieht es vielleicht nur „cool“ aus, wie ein richtiger Hacker? Wer weiß, wer weiß. ^^ Ok, Spaß beiseite und weiter! Hier empfehle ich Euch selbes wie schon beim Sideload, und zwar die APK-Datei einfach in denselben Ordner wie die adb.exe zu packen. Dann den Befehl eintippen und nach success über eine neue App auf dem Smartphone freuen.

adb uninstall [Name des Pakets]

Wenn man schon die App über ADB installiert, dann kann man sie selbstverständlich auch deinstallieren. Der Unterschied zum vorherigen Befehl ist abgesehen vom „un“, dass man hier den Paketnamen der App, also bspw. das com.google.ar.lens bei der Google Lens-App benötigt. Um an den Paketnamen zu kommen, gibt es verschiedene Möglichkeiten:

  1. Mittels ADB Shell (mehr dazu am Ende des Artikels) alle Paketnamen der installierten Apps anzeigen lassen und den richtigen heraussuchen, dies geht mit folgendem Befehl:
    adb shell pm list packages -3 -f
  2. Oder man ruft die App im Play Store auf und kopiert den Namen in der URL nach id=.
adb get-state

Ist Dein Gerät gerade im Sideload-, Recovery- oder normalen Device-Modus? Wenn Du den „umständlichen“ Weg über adb devices vermeiden möchtest, dann bringt Dir der obige Befehl die Rettung. Denn hier wird Dir klipp und klar ausgegeben, in welchem Modus sich Dein Gerät befindet. Mehr aber auch nicht.

adb get-serialno

Du brauchst unbedingt die Seriennummer Deines Geräts? ADB liefert Dir mit einem einfachen Befehl genau das.

adb reboot [bootloader|recovery]

Wer kennt diesen Befehl denn nicht? Denn so lässt sich ganz bequem, ohne das Smartphone anzurühren, das Gerät neustarten. Optional kannst Du auch noch in den Bootloader oder in die Recovery neustarten. Das ist gerade dann von Vorteil, wenn diese Optionen nicht im normalen Neustartmenü vorhanden sind.

Zugriff auf das Terminal mittels ADB Shell

Durch Eingabe von adb shell startest Du direkt eine Terminalsitzung auf Deinem Smartphone. Da Android auf Linux basiert, lassen sich hier die Standardbefehle für das Kopieren, Verschieben, Löschen, Anzeigen usw. von Dateien anwenden. Kleiner Tipp am Rande: Wenn Du ein $-Zeichen siehst, bedeutet dies, dass Du in einer normalen Terminalsitzung ohne Root-Rechte bist. Wenn Du dies ändern möchtest, musst Du selbstverständlich zuerst Dein Gerät gerootet haben und wenn dies vollbracht ist, reicht die Eingabe von su und schon sollte aus dem $-Zeichen ein #-Zeichen werden. Natürlich sollte Dich auch Dein Root-Manager (bspw. Magisk) davor fragen, ob Du ADB die Root-Rechte genehmigen möchtest. Glückwunsch, Du kannst nun alles machen, wie bspw. das Mounten der System-Partition mit Schreibrechten und und und. Jetzt jede Möglichkeit der Shell aufzuführen würde den Rahmen des Artikels sprengen, da Android wie schon erwähnt auf Linux basiert, lassen sich viele Befehle auch hier anwenden. Eine recht umfangreiche Aufzählung der Befehle findet sich hier.

Bei weitem noch nicht alles!

Ja, das war noch lange nicht alles! Die Android Debug Bridge kann noch einiges mehr, doch das sind dann Befehle, die Du als Nutzer eher nicht nutzen wirst bzw. nicht brauchst. Solltest Du dennoch Interesse daran haben, tippe einfach adb help in die Kommandozeile ein und schon findest Du eine Auflistung aller möglichen Befehle.