Android Debug Bridge ADB

From digital-bit.ch's wiki
Jump to: navigation, search

Was ist ABD die Android Debug Bridge

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

Kommandos

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


Beispiele

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)
raspberry pi
powered by

    ip-exchange.de

Personal tools