Um Screenshots anzufertigen, auf Systemdateien zuzugreifen, ggf. Apps zu installieren oder zu entfernen, ist der Android Dalvik Debug Monitor (DDMS) ganz nützlich. Aber wie lässt sich DDMS nutzen, wenn keine USB-Verbindung mit dem Android-Gerät besteht? Kann man ggf. über WiFi debuggen?
Anzeige
Debuggen mit DDMS per USB
Normalerweise ist es ganz einfach: Hat man das Android-SDK auf einem Windows-Rechner (oder unter Linux) installiert, kann man im Ordner tools die Datei ddms.bat per Doppelklick anwählen. Ist das Android-Gerät per USB-Verbindung mit dem Windows-Rechner verbunden und ist ein ADB-Treiber installiert, sollte sich der Dalvik Debug Monitor mit folgendem Fenster melden.
Im oberen linken Teilfenster sollte das per USB verbundene Android-Gerät auftauchen. Wird dieses angewählt, lässt sich auf dessen Ressourcen zugreifen. Hinweise, was alles gebraucht wird, wie das Debuggen auf dem Android-Gerät freigeschaltet wird und wie man konkret vorgehen kann, um den Dalvik Debug Monitor aufzurufen, finden sich unter [a]. Wie ein fehlender ADB-Treiber installiert werden kann, wird unter [b] beschrieben.
a: Screenshots unter Android – Teil I
b: Android USB-Treiber für Windows installieren (Teil 1)
Anzeige
Wie funktioniert das bei Android-x86?
So schön der obige Ansatz ist, bei meinen Experimenten mit Android-x86 auf dem Eee PC 701, dem WeTab Tablet PC oder anderen Netbooks (siehe z.B. [c]) gibt es aber ein Problem: Es ist keine USB-Verbindung zwischen dem Windows-Rechner und dem Netbook bzw. Tablet PC mit USB-A-Buchse möglich.
c: Android x86 ICS RC1 für Eee PC 701 und Netbooks
Also habe ich mich frühzeitig um Alternativen bemüht. Über das im Android-SDK im Ordner platform-tools enthaltene Programm adb.exe (Android Debug Bridge) lässt sich über WiFi eine Verbindung zum Android-Gerät aufbauen. Hierzu ist das Fenster einer Eingabeaufforderung zu öffnen und dann der Befehl:
adb connect <address> (ENTER)
einzugeben. Der Platzhalter <address> ist dabei die IP-Adresse des Android-x86-Geräts. Wie man diese IP-Adresse des per WLAN-mit einem Router verbundenen Android-x86-Geräts ermitteln kann und was zu beachten ist, habe ich unter [d] beschrieben. Ist eine Verbindung per ADB zum Android-Gerät hergestellt, lässt sich ddms.bat aufrufen und der Dalvik Debug Monitor sollte das Android-x86-Gerät finden.
d: Experimenting with ICS (in Virtualbox, VMlite, VMware)
Klappt bei meinem Android-Gerät nicht!
Ich habe den obigen Ansatz mehrfach bei Android-x86-Geräten erfolgreich verwendet. An's Straucheln kam ich jedoch bei den Pearl Touchlet Tablet PCs mit Android. Diese verfügen über eine miniUSB-Buchse mit Hostfunktionen. Als ich einen USB-Stick an dieser miniUSB-Buchse anschloss, wollte ich ddms.bat zum Anfertigen von Screenshots verwenden. Aber mir fehlte die Möglichkeit zum Anschluss des Geräts per USB-Kabel an den PC (die Buchse war ja belegt). Der obige USB-Debug-Ansatz funktionierte nicht – und mein Versuch, die weiter oben skizzierten Schritte zum Verbinden per ADB über WiFi auszuführen, scheiterte.
Bei Android-Geräte wie Tablet PCs oder SmartPhones, die sich per USB-Schnittstelle mit dem PC verbinden und dann ddms.bat ansprechen lassen, klappt der obige Ansatz zum WiFi-Debugging nicht. Zumindest ist dies meine Erfahrung bei Geräten wie den Pearl Touchlet Tablets oder Simvalley Smartphones, sowie Geräten anderer Hersteller (Huawei etc.).
Nach etwas Recherche war mir die Ursache klar: Die Android Dalvik Debug Bridge (ADB) muss vom Modus USB-Debugging auf TCP/IP-Debugging umgeschaltet werden [e]. Ist sichergestellt, dass das Android-Gerät per USB per ddms.bat angesprochen werden kann, kann man das Eingabefenster öffnen. Dann sind folgende Befehle einzugeben:
adb tcpip 5555
adb connect <ip-adresse>:5555
Der erste Befehl stellt die Verbindung auf TCP/IP-Connections um und vereinbart den Port 5555 zur Verbindungsaufnahme. Der Parameter <ip-adresse> in der zweiten Zeile steht hier für die IP-Adresse, mit der das Android-Gerät am WLAN-Router angemeldet wurde (z. B. 192.168.178.25). Wie diese Adresse ermittelt werden kann, habe ich unter [d] beschrieben.
Bei einer erfolgreichen Verbindungsaufnahme ist die USB-Verbindung zu trennen. Führt man dann im Ordner tools die Batchdatei ddms.bat aus, sollte das per WLAN verbundene Android-Gerät im Dalvik Debug Monitor auftauchen.
Nach dem Debuggen lässt sich die Android Debug Bridge über den Befehl:
adb usb
wieder auf USB-Debugging zurückstellen. Bei meinem Versuchen klappte dies mit Geräten wie dem Touchlet X7Gs und X10, die über eine mini-USB-Buchse mit Hostfunktion verfügten. Keinen Erfolg hatte ich bei Geräten ohne USB-Buchse mit Host-Funktion (z. B. Huawei Ascend G300). Ob die Hinweise aus [f] weiter führen, habe ich nicht weiter überprüft. Zudem gibt es Apps wie ADB WiFi oder ähnliche, die bei gerooteten Android-Geräten ein WiFi-Debugging zu ermöglichen.
e: Android – Run/install/debug applications over WiFi?
f: How can I connect to Android with ADB over TCP?
Anzeige