ADB und Fastboot
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>
- Finde den Paketnamen:
- 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 bootloaderfastboot flashing unlock- Bestätige auf dem Gerät → Daten werden gelöscht, Bootloader ist offen.
- TWRP Recovery installieren (falls verfügbar):
adb reboot bootloaderfastboot flash recovery twrp-<Nummer>.imgfastboot reboot recovery→ Startet in TWRP.
- Factory-Image wiederherstellen:
- Entpacke das Factory-Image
adb reboot bootloaderfastboot 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.