ADB (Android Debug Bridge) ist ein Tool welches mit der Android SDK kommt, welches eine direkte Kommunikation und Kontrolle des Androidgeraetes erlaubt. Fuer den Fall das die SDK noch nicht installiert wurde: http://developer.android.com/sdk/1.5_r1/index.html
ADB hat einige Kommandos mit an Board. Manche von diesen sind Interaktiv, andere wiederrum laufen nur einen simplen Task ab, anbei die Liste der aktuellen ADB Kommandos. Damit das ganze Funktioniert muss USB Debugging in den Settings aktiviert sein und der adb-server mit Admin/Rootrechten gestartet werden: adb start-server
| Android Debug Bridge | |
| -d | uebergibt Kommando an nur ein konnektiertes USB Geraet, wirft einen Fehler aus wenn mehr als ein Geraet vorhanden ist |
| -e | uebergibt Kommando an nur einen laufenen Emulator, wirft einen Fehler aus wenn mehr als ein Emu vorhanden ist |
| -s <serial number> | uebergibt Kommando an das USB Geraet oder den Emulator mit angegebener Seriennummer |
| -p <Prodname/Pfad> | Simpler Produktname wie 'sooner', oder relativer/absoluter Pfad zu einem Produkt falls -p nicht naeher |
| spezifziert wurde, wird die ANDROID_PRODUCT_OUT Variable benutzt, welche einen absoluten Pfad benoetigt | |
| devices | alle konnektierten Geraete auflisten. |
| device commands | |
| adb push <local> <remote> | Kopiere File/Verzeichnis auf das Geraet |
| adb pull <remote> <local> | cKopiere File/Verzeichnis von dem Geraet |
| adb sync [ <directory> ] | Kopiere Host->Geraet nur bei Aenderungen |
| adb shell | oeffne eine interaktive Shell |
| adb shell <command> | Starte Kommando via Shell |
| adb emu <command> | Starte Emulatoren Kommando via Shell |
| adb logcat [ <filter-spec> ] | LogCollector zeige Geraetelogs |
| adb forward <local> <remote> | Socketconnections forwarden |
| Forward kann folgende Spezifikationen enthalten: | |
| tcp:<port> | |
| localabstract:<unix domain socket name> | |
| localreserved:<unix domain socket name> | |
| localfilesystem:<unix domain socket name> | |
| dev:<character device name> | |
| jdwp:<process pid> (nur Remote) | |
| adb jdwp | listed PIDs deren Prozesse ein JDWP Transport hosten |
| adb install [-l] [-r] <file> | Pushe Datei und installiere diese auf dem Geraet |
| ('-l' bedeutet vor-locken der Applikation) | |
| ('-r' reinstalliert die App, behaelt Daten) | |
| adb uninstall [-k] <package> | deinstalliere Paket |
| ('-k' behaelt Data und Cache Directories) | |
| adb bugreport | alle Infos die in einen Bugreport sollten |
| adb help | zeigt die Hilfe |
| adb version | zeigt Versionsnummer |
| Dataops | |
| ohne Parameter | Datenpartition bestehen lassen |
| -w | loesche Daten Partition |
| -d | flashe Daten Partition |
| Scripten | |
| adb wait-for-device | blocken bis das Geraet online ist |
| adb start-server | adb Server starten |
| adb kill-server | adb Server stoppen |
| adb get-state | gibt: 'offline', 'bootloader' oder 'device' aus |
| adb get-product | gibt Produkt ID aus |
| adb get-serialno | gibt Seriennummer aus |
| adb status-window | gibt regelmaessig den Status des Geraets aus |
| adb remount | remounted /system read-write |
Hier nun ein paar Beispiele, die # trennt Kommentare
adb push foo.txt /sdcard/foo.txt # kopiert foo auf das Geraet adb pull /sdcard/foo.txt foo.txt # kopiert foo vom Geraet adb push JF-1.5.zip /sdcard/update.zip # kopiert ein bekanntes Zipfile adb install myapp.apk # installiert myapp.apk adb uninstall foobar.apk # deinstalliert foobar.apk adb shell cat /system/sd/property/persist.sys.country # cat befehl ausfuehren
adb push 2sd.sh /system/sd/ adb shell chmod 0700 /system/sd/2sd.sh adb shell /system/sd/2sd.sh # shellscript hochladen, chmodden, starten
adb forward tcp:1337 tcp:23 #Port 23 (telnet auf lokalen Port 1337 mappen)