ADB und Fastboot

Aus Volla Wiki
Zur Navigation springen Zur Suche springen

Diese Anleitung ist für alle Nutzer/-innen gedacht, welche sich über die Risiken eines Eingriffs in die Entwickleroptionen bewusst sind und sich mit den Möglichkeiten von ADB auseinandergesetzt haben. Im Falle von Datenverlusten und Gerätekomplikationen ist die Haftung seitens Volla ausgeschlossen.

Die Nutzung dieses Tutorials geschieht grundsätzlich auf eigenes Risiko und ist für Anwender/-innen ohne Erfahrung ausdrücklich nicht empfohlen.

ADB - Android Debug Bridge

Grundlagen von ADB-Befehlen

ADB-Befehle werden über ein Terminal (Windows: Eingabeaufforderung/PowerShell, macOS/Linux: Terminal) eingegeben. Die allgemeine Syntax lautet:

adb [Option] [Befehl] [Parameter]

  • Du musst sicherstellen, dass ADB auf deinem Computer installiert ist (entweder über das Android SDK oder als Minimal-ADB-Tool).
  • Das Gerät muss mit USB-Debugging oder Wireless Debugging verbunden sein (siehe).

Häufige ADB-Befehle mit Erklärung

1. Verbindungs- und Statusbefehle

adb devices

Beschreibung: Listet alle verbundenen Geräte auf.
Beispiel: adb devices → Ausgabe: "1234567890abcdef device" (Gerät verbunden) oder "192.168.1.100:5555 device" (kabellos).
Tipp: Wenn "unauthorized" erscheint, überprüfe die Debugging-Abfrage auf dem Gerät.

adb connect <IP>:<Port>

Beschreibung: Verbindet zu einem Gerät über WLAN.
Beispiel: adb connect 192.168.1.100:5555

adb disconnect <IP>:<Port>

Beschreibung: Trennt die kabellose Verbindung.
Beispiel: adb disconnect 192.168.1.100:5555

adb pair <IP>:<Port>

Beschreibung: Koppelt ein Gerät mit einem Pairing-Code (für Wireless Debugging).
Beispiel: adb pair 192.168.1.100:37000 → Eingabe des Codes (z. B. "123456").

2. Shell-Zugriff

adb shell

Beschreibung: Öffnet eine interaktive Shell auf dem Gerät, um Linux-Befehle auszuführen.
Beispiel: adb shell → Dann z. B. ls (zeigt dir Befehle wie dir auf Windows).

adb shell <Befehl>

Beschreibung: Führt einen einzelnen Befehl aus, ohne die Shell offen zu halten.
Beispiel: adb shell pm list packages → Listet alle installierten Apps (Paketnamen).

3. App-Verwaltung

adb install <Pfad-zur-APK>

Beschreibung: Installiert eine APK-Datei auf dem Gerät.
Beispiel: adb install C:\Apps\meineapp.apk
Option: -r überschreibt eine bestehende App (z. B. adb install -r meineapp.apk).

adb uninstall <Paketname>

Beschreibung: Deinstalliert eine App (Paketname erforderlich).
Beispiel: adb uninstall com.example.app
Option: -k behält Daten/Cache (z. B. adb uninstall -k com.example.app).

adb shell pm disable-user <Paketname>

Beschreibung: Deaktiviert eine App ohne Deinstallation (z. B. Bloatware).
Beispiel: adb shell pm disable-user com.samsung.bloat

adb shell pm enable <Paketname>

Beschreibung: Aktiviert eine deaktivierte App wieder.
Beispiel: adb shell pm enable com.samsung.bloat

4. Dateiübertragung

adb push <lokaler-Pfad> <Geräte-Pfad>

Beschreibung: Kopiert eine Datei vom Computer auf das Gerät.
Beispiel: adb push C:\Files\test.txt /sdcard/
Tipp: Zielverzeichnis muss existieren und zugänglich sein.

adb pull <Geräte-Pfad> <lokaler-Pfad>

Beschreibung: Kopiert eine Datei vom Gerät auf den Computer.
Beispiel: adb pull /sdcard/test.txt C:\Files\

5. Geräteinformationen und Debugging

adb logcat

Beschreibung: Zeigt Echtzeit-Logs des Geräts (nützlich für Entwickler).
Beispiel: adb logcat → Drücke Strg+C zum Beenden.
Option: adb logcat | grep "Fehler" filtert nach bestimmten Begriffen.

adb shell dumpsys

Beschreibung: Liefert detaillierte Systeminformationen.
Beispiel: adb shell dumpsys battery → Zeigt Akkustatus.

adb shell getprop

Beschreibung: Listet Geräteeigenschaften (z. B. Android-Version).
Beispiel: adb shell getprop ro.build.version.release → Zeigt z. B. "14".

6. Gerätesteuerung

adb reboot

Beschreibung: Startet das Gerät neu.
Beispiel: adb reboot
Optionen: adb reboot recovery (in Recovery-Modus) oder adb reboot bootloader (in Fastboot).

adb shell input tap <x> <y>

Beschreibung: Simuliert einen Tipp auf dem Bildschirm (Koordinaten in Pixel).
Beispiel: adb shell input tap 500 1000 → Tippt auf X=500, Y=1000.

adb shell input text <Text>

Beschreibung: Gibt Text ein.
Beispiel: adb shell input text "Hallo" → Tippt "Hallo".

7. Netzwerk und Screenshots

adb shell screencap <Pfad>

Beschreibung: Erstellt einen Screenshot auf dem Gerät.
Beispiel: adb shell screencap /sdcard/screenshot.png → Dann mit adb pull herunterladen.

adb shell screenrecord <Pfad>

Beschreibung: Nimmt ein Video des Bildschirms auf (max. 3 Minuten).
Beispiel: adb shell screenrecord /sdcard/video.mp4 → Strg+C zum Stoppen.

adb shell ifconfig

Beschreibung: Zeigt Netzwerkdetails (z. B. IP-Adresse).
Beispiel: adb shell ifconfig wlan0

Fortgeschrittene ADB-Befehle

adb shell pm grant <Paketname> <Berechtigung>

Beschreibung: Erteilt einer App eine bestimmte Berechtigung.
Beispiel: adb shell pm grant com.example.app android.permission.WRITE_SECURE_SETTINGS

adb shell wm size <Breite>x<Höhe>

Beschreibung: Ändert die Bildschirmauflösung (für Tests).
Beispiel: adb shell wm size 720x1280
Zurücksetzen: adb shell wm size reset

adb shell am start -n <Paketname>/<Aktivität>

Beschreibung: Startet eine App oder Aktivität direkt.
Beispiel: adb shell am start -n com.android.settings/.Settings

adb backup -apk -shared -all -f <Datei>

Beschreibung: Erstellt ein Backup des Geräts.
Beispiel: adb backup -apk -shared -all -f backup.ab

Praktische Beispiele

  • Bloatware entfernen ohne Root:
    • Finde den Paketnamen: adb shell pm list packages | grep "Paketname"
    • Deaktiviere: adb shell pm disable-user com.<Paketname Ausgabe>
  • Automatisierter Screenshot:
    • adb shell screencap /sdcard/screenshot.png && adb pull /sdcard/screenshot.png C:\Screenshots\
  • App ohne Store installieren:
    • adb install C:\Downloads\app.apk

Tipps und Tricks

  • Mehrere Geräte: Wenn mehrere Geräte verbunden sind, füge -s <Seriennummer> hinzu, z. B. adb -s 1234567890abcdef shell.
  • Befehle kombinieren: Nutze && für mehrere Aktionen, z. B. adb shell screencap /sdcard/test.png && adb pull /sdcard/test.png.
  • Aliases: Erstelle Shortcuts in deinem Terminal (z. B. alias screenshot='adb shell screencap...').

Einschränkungen

  • Ohne Root-Zugriff sind viele Systembereiche gesperrt (z. B. /system).

Fastboot

ist ein weiteres mächtiges Werkzeug im Android-Ökosystem, das oft in Kombination mit ADB verwendet wird, aber auf einer tieferen Ebene arbeitet. Es ist besonders nützlich für Bootloader-Operationen, Flashen von Firmware und Gerätemodifikationen.

Was ist Fastboot?

Fastboot ist ein Protokoll und ein Kommandozeilen-Tool, das es dir ermöglicht, direkt mit dem Bootloader eines Android-Geräts zu interagieren. Der Bootloader ist die Software, die beim Start des Geräts geladen wird, bevor das Betriebssystem (Android) hochfährt. Mit Fastboot kannst du Systempartitionen flashen, den Bootloader entsperren oder Geräte zurücksetzen – Dinge, die über ADB nicht möglich sind.

  • Unterschied zu ADB: ADB arbeitet innerhalb des laufenden Android-Systems, während Fastboot im Bootloader-Modus aktiv ist.
  • Voraussetzung: Fastboot muss auf deinem Computer installiert sein (entweder über das Android SDK oder als Teil von Minimal ADB and Fastboot).

Voraussetzungen für Fastboot

  • Fastboot-Treiber: Stelle sicher, dass die Fastboot-Treiber auf deinem PC installiert sind (bei Windows oft Teil der Google USB Drivers).
  • USB-Kabel: Fastboot funktioniert nur über eine USB-Verbindung (kein Wireless-Modus).
  • Bootloader-Modus: Das Gerät muss in den Fastboot-Modus (auch "Bootloader-Modus" genannt) gestartet werden.
    • Eingabe: Schalte das Gerät aus, halte dann eine Tastenkombination (z. B. Power + Lautstärke runter) gedrückt und verbinde es per USB mit dem PC.
    • Alternativ per ADB: adb reboot bootloader
  • Entsperrter Bootloader (optional): Viele Befehle erfordern, dass der Bootloader entsperrt ist (siehe unten).

Häufige Fastboot-Befehle

1. Verbindungs- und Statusbefehle

fastboot devices

Beschreibung: Listet alle Geräte im Fastboot-Modus auf.
Beispiel: fastboot devices → Ausgabe: "1234567890 fastboot"
Tipp: Wenn nichts angezeigt wird, überprüfe die USB-Verbindung oder Treiber.

fastboot getvar <Variable>

Beschreibung: Zeigt Informationen über das Gerät an (z. B. Bootloader-Status).
Beispiel: fastboot getvar unlocked → Ausgabe: "yes" (entsperrt) oder "no" (gesperrt).

2. Bootloader-Operationen

fastboot oem unlock

Beschreibung: Entsperrt den Bootloader (Achtung: Löscht alle Daten!).
Beispiel: fastboot oem unlock
Hinweis: Nicht bei allen Geräten verfügbar; manche (z. B. Xiaomi) benötigen einen Unlock-Code vom Hersteller.
Alternative: fastboot flashing unlock (neuere Geräte).

fastboot oem lock

Beschreibung: Sperrt den Bootloader wieder.
Beispiel: fastboot oem lock
Hinweis: Setzt das Gerät oft zurück.

fastboot flashing lock

Beschreibung: Alternative zum Sperren (neuere Android-Versionen).
Beispiel: fastboot flashing lock

3. Flashen von Partitionen

fastboot flash <Partition> <Datei>

Beschreibung: Schreibt eine Image-Datei auf eine bestimmte Partition (z. B. Boot, Recovery, System).
Beispiel: fastboot flash recovery recovery.img → Flasht ein Custom Recovery wie TWRP.
Häufige Partitionen:
  • boot: Kernel und RAM-Disk.
  • recovery: Recovery-Modus.
  • system: Android-Betriebssystem.
  • vbmeta: Verifizierungsdaten (für Android Verified Boot).

fastboot flashall

Beschreibung: Flasht alle Partitionen aus einem Factory-Image (z. B. boot.img, system.img).
Beispiel: fastboot flashall (Dateien müssen im gleichen Verzeichnis liegen).

fastboot erase <Partition>

Beschreibung: Löscht eine Partition.
Beispiel: fastboot erase userdata → Löscht alle Nutzerdaten.

4. Gerätesteuerung

fastboot reboot

Beschreibung: Startet das Gerät neu ins normale System.
Beispiel: fastboot reboot

fastboot reboot recovery

Beschreibung: Startet ins Recovery-Menü.
Beispiel: fastboot reboot recovery

fastboot reboot bootloader

Beschreibung: Startet zurück in den Fastboot-Modus.
Beispiel: fastboot reboot bootloader

fastboot boot <Datei>

Beschreibung: Startet ein Image (z. B. Recovery) ohne es zu flashen – ideal zum Testen.
Beispiel: fastboot boot recovery.img

5. Fortgeschrittene Befehle

fastboot update <ZIP-Datei>

Beschreibung: Installiert ein Update aus einer ZIP-Datei (z. B. OTA-Update).
Beispiel: fastboot update update.zip

fastboot oem device-info

Beschreibung: Zeigt Geräteinformationen (z. B. Bootloader-Status).
Beispiel: fastboot oem device-info

fastboot set_active <Slot>

Beschreibung: Wechselt zwischen A/B-Partitionen (bei Geräten mit Seamless Updates).
Beispiel: fastboot set_active a oder fastboot set_active b

Praktische Beispiele

  • Bootloader entsperren:
    • adb reboot bootloader
    • fastboot flashing unlock
    • Bestätige auf dem Gerät → Daten werden gelöscht, Bootloader ist offen.
  • TWRP Recovery installieren (falls verfügbar):
    • adb reboot bootloader
    • fastboot flash recovery twrp-<Nummer>.img
    • fastboot reboot recovery → Startet in TWRP.
  • Factory-Image wiederherstellen:
    • Entpacke das Factory-Image
    • adb reboot bootloader
    • fastboot flashall → Flasht Boot, System, Recovery etc.
  • Temporäres Testen eines Recovery:
    • fastboot boot twrp-<Nummer>.img → Startet TWRP ohne Installation.

Wichtige Hinweise

  • Datenverlust: Befehle wie oem unlock oder erase löschen alle Daten. Erstelle vorher ein Backup!
  • Garantie: Das Entsperren des Bootloaders kann die Garantie erlöschen lassen.
  • Brick-Gefahr: Falsches Flashen (z. B. inkompatibles Image) kann das Gerät unbrauchbar machen (Soft-Brick).

Problembehandlung

  • "Fastboot not found": Überprüfe, ob Fastboot installiert ist (fastboot --version).
  • Gerät wird nicht erkannt: Teste ein anderes USB-Kabel/Port oder aktualisiere Treiber.
  • "Waiting for device": Stelle sicher, dass das Gerät im Fastboot-Modus ist (fastboot devices).

Diese Anleitung ist für alle Nutzer/-innen gedacht, welche sich über die Risiken eines Eingriffs in die Entwickleroptionen bewusst sind und sich mit den Möglichkeiten von ADB auseinandergesetzt haben. Im Falle von Datenverlusten und Gerätekomplikationen ist die Haftung seitens Volla ausgeschlossen.

Die Nutzung dieses Tutorials geschieht grundsätzlich auf eigenes Risiko und ist für Anwender/-innen ohne Erfahrung ausdrücklich nicht empfohlen.