Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| — | android:adb-android_debug_bridge [2023/05/27 12:20] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== Adb-Android Debug Bridge ====== | ||
| + | Mit der Android Debug Bridge, kurz adb, kann man Android vom PC mit Befehlen steuern. | ||
| + | ===== Verbindung herstellen ===== | ||
| + | Zunächst muß man das Android-Gerät mit dem PC verbinden. | ||
| + | |||
| + | ==== Debugging über USB ==== | ||
| + | Damit man nun das Android steuern kann, muß das Debugging auf dem Android aktiviert werden. | ||
| + | < | ||
| + | Hier nun den Punkt **USB-Debugging** aktivieren. | ||
| + | Ab jetzt Verbindet man das Android-Gerät mit dem PC per USB-Datenkabel und steuert es mit den Android-SDK-Tools. | ||
| + | |||
| + | ==== Debugging über Wifi ==== | ||
| + | Man kann dies auch ohne USB-Datenkabel machen und einfach ein vorhandenes Wifi nutzen. | ||
| + | Dafür muß aber ein angepasstes Android-ROM installiert sein und dafür muß man das Android-Gerät [[android: | ||
| + | Danach auf dem Gerät die Funktion **ADB über Netzwerk** aktivieren. | ||
| + | Anschließend nur noch folgende Einstellungen am PC übernehmen (einfach in der Konsole eingeben). | ||
| + | <code bash>adb tcpip < | ||
| + | Nun kann man sich wie folgt verbinden. | ||
| + | <code bash>adb connect < | ||
| + | Die Verbindung trennt man wie folgt. | ||
| + | <code bash>adb disconnect < | ||
| + | |||
| + | === Debug per Wifi ohne Menüeintrag einschalten === | ||
| + | Es kann vorkommen das nicht jedes Android-ROM diese Funktion in den Entwickleroptionen hat. | ||
| + | Man kann die Funktion dennoch einschalten. Dazu benötigt man eine App, mit welcher man Befehle auf Konsolenebene eingeben kann (z.B. " | ||
| + | |||
| + | Nach der Installtion einfach die Befehle eingeben zum einschalten: | ||
| + | <code bash>su | ||
| + | setprop service.adb.tcp.port 5555 | ||
| + | stop adbd | ||
| + | start adbd</ | ||
| + | |||
| + | Zum Abschalten, folgende Befehle eintragen: | ||
| + | <code bash> | ||
| + | stop adbd | ||
| + | start adbd</ | ||
| + | |||
| + | Um das Debugging wieder auf USB umzustellen einfach den Befehl verwenden. | ||
| + | <code bash>adb usb</ | ||
| + | |||
| + | ==== Debugging mit ADB testen ==== | ||
| + | Egal wie man nun verbunden ist, kann man die Kommunikation mit dem Android-Gerät nun wie folgt testen. | ||
| + | <code bash>adb devices</ | ||
| + | Wenn man per Wifi verbunden ist, dann kommt beim ersten mal die folgende Ausgabe: | ||
| + | <code bash> | ||
| + | 192.168.149.105: | ||
| + | |||
| + | Das Wort **" | ||
| + | Das löst man, in dem die Meldung auf dem Android-Gerät bestätigt wird. | ||
| + | |||
| + | Gibt man jetzt beispielsweise folgenden Befehl ein, wird einem angezeigt wie lang das Android-Gerät schon eingeschaltet ist. | ||
| + | <code bash>adb shell uptime</ | ||
| + | |||
| + | ===== Backup und Restore ===== | ||
| + | Mit dem Befehl '' | ||
| + | Syntax: < | ||
| + | **Einzelne Parameter**, | ||
| + | <code bash>adb backup < | ||
| + | |||
| + | ^ Parameter ^ Beschreibung ^ default ^ | ||
| + | | < | ||
| + | | < | ||
| + | | < | ||
| + | | < | ||
| + | | < | ||
| + | | < | ||
| + | | < | ||
| + | |||
| + | * Beispiel (**Smartphone gerootet**): | ||
| + | * Beispiel (**Smartphone nicht gerootet**): | ||
| + | |||
| + | Ein Recovery würde wie folgt gestartet werden. | ||
| + | <code bash>adb restore < | ||
| + | |||
| + | ==== Einzelene Apps sichern ==== | ||
| + | Zum sichern einzelner Apps, muss man den App-Namen kennen. | ||
| + | Herausfinden kann man dies mit folgendem Befehl: | ||
| + | <code bash>adb shell pm list packages</ | ||
| + | Hierbei werden alle Apps mit dem App-Namen aufgelistet. | ||
| + | |||
| + | Das Backup kann dann wie folgt erstellt werden: | ||
| + | <code bash>adb backup < | ||
| + | Man kann auch einfach dieses kleine dirty-script verwenden: | ||
| + | <code bash># | ||
| + | |||
| + | read -p "In welchem Pfad soll gesichert werden: " DEST | ||
| + | |||
| + | while [ " | ||
| + | do | ||
| + | echo "Zum beenden einfach ' | ||
| + | read -p "Bitte Namen der App angeben: " APPNAME | ||
| + | echo | ||
| + | if [ ${APPNAME} = " | ||
| + | echo " | ||
| + | exit 0 | ||
| + | fi | ||
| + | echo " | ||
| + | echo | ||
| + | adb shell pm list packages|grep ${APPNAME} | ||
| + | echo | ||
| + | read -p "Bitte Package angeben: " PACKAGENAME | ||
| + | echo | ||
| + | adb backup ${PACKAGENAME} -f ${DEST}/ | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | ==== Backup-Datei entpacken ==== | ||
| + | Die erstellte Backup-Datei '' | ||
| + | Allerdings ist dieses Archiv kein normales Deflate Archiv, es ist verändert. | ||
| + | Auf der Webseite von [[http:// | ||
| + | |||
| + | Man kann dieses Archiv allerdings in ein Tar-Archiv umwandeln. Mit dem [[https:// | ||
| + | <code bash> | ||
| + | |||
| + | Wenn das Archiv in ein lesbares Tar-Archiv umgewandelt wurde, kann man es z.B. über Nautilus öffnen und entpacken. | ||
| + | |||
| + | ==== Google One-Back-up per adb ==== | ||
| + | Dieser Befehl erzwingt das Backup mit One-Back-up welches in Android eingebaut ist | ||
| + | <code bash>adb shell | ||
| + | bmgr run | ||
| + | bmgr backupnow --all</ | ||
| + | |||
| + | Sollte der Befehl mit diesem Fehlercode enden " | ||
| + | <code bash> | ||
| + | bmgr backupnow --all</ | ||
| + | ===== nützliche Befehle ===== | ||
| + | Hier einige nützliche Befehle für adb. | ||
| + | |||
| + | ==== Image Type ==== | ||
| + | <code bash>adb shell grep ro.product.name system/ | ||
| + | |||
| + | ==== Device Type ==== | ||
| + | <code bash>adb shell grep ro.product.device / | ||
| + | |||
| + | ==== Build ID ==== | ||
| + | <code bash>adb shell grep build.id / | ||
| + | |||
| + | ==== Dateien uploaden ==== | ||
| + | <code bash>adb push < | ||
| + | |||
| + | ==== Dateien downloaden ==== | ||
| + | <code bash>adb pull < | ||
| + | |||
| + | ==== Apps deinstallieren ==== | ||
| + | Die Paketnamen einfach aus dem Verzeichnis ''/ | ||
| + | <code bash>adb uninstall < | ||
| + | |||
| + | ==== dumpsys Informationen ==== | ||
| + | Mit dem Tool '' | ||
| + | <code bash> | ||
| + | |||
| + | ==== Top ==== | ||
| + | Mit dem Tool '' | ||
| + | < | ||
| + | -m num Maximum number of processes to display. | ||
| + | -n num Updates to show before exiting. | ||
| + | -d num Seconds to wait between updates. | ||
| + | -s col Column to sort by (cpu, | ||
| + | -t Show threads instead of processes. | ||
| + | -h Display this help screen.</ | ||
| + | |||
| + | ==== Was passiert aktuell in Android ==== | ||
| + | === LogCAT === | ||
| + | Anzeige des aktuellen Logs des Devices (wie tailf syslog) | ||
| + | <code bash>adb logcat</ | ||
| + | === DDMS === | ||
| + | Ein anderes Tool ist '' | ||
| + | Installiert wird es einfach per \\ <code bash> | ||
| + | Danach kann es Aufgerufen werden mit \\ <code bash> | ||