Android mit adb tools steuern
In diesem Beitrag beschreibe ich wie sich Android mit adb tools steuern lässt. Diese besondere Anforderung kommt aus einem unserer barrierefreien Projekte. Eine unserer Bewerberinnen kann zum Teil ihr Tablet nicht mit den Händen bedienen. Das heißt z.B. auch nicht das Gerät einschalten und ein bestimmte App starten. Im nachfolgenden Beitrag erhaltet ihr eine Anleitung wie ihr eurer Android Tablet oder Android Smartphone per adb tools fernsteuern könnt. Warum ist dies generell sinnvoll für einen Smart Home Besitzer? Ihr könnt so über einen Bewegungsmelder euer Tablet mit der UI automatisch anschalten. Weiterhin könnte ihr beliebiges Apps z.B. die openHAB App starten, ob per Bewegungsmelder oder anderer Sensoren ist völlig egal. Ich denke, euch fallen bestimmt auch einige Anwendungsfälle ein.
Android mit adb tools steuern – Android Entwickleroptionen aktivieren
Eine Voraussetzung zur Steuerung ist USB Debugging. Als erstes müsst ihr euer Android Gerät vorbereiten.
Hierfür als erstes euch selbst zum Entwickler machen und die Android Entwickleroptionen aktivieren. Aktuell macht ihr dies wie folgt. Geht in die Einstellungen und klickt auf „Über das Telefon“ (1)
Nun klickt 7x auf die Buildnummer (1) unten sollte der Text „Okay, du bist jetzt Entwickler erscheinen“
Im Anschluss gibt es unter System einen neuen Menüeintrag Entwickleroptionen (1).
Hier aktiviert ihr die Option USB debugging (1).
Android mit adb tools steuern – adb tools installieren
Nun geht auf euren Raspberry Pi und gebt folgendes ein.
sudo apt-get install android-tools-adb
Verbindet nun das Smartphone oder Tablet per USB mit dem Pi. Bestätigt die Verbindung (1) und klickt erlauben (2).
Sucht im Anschluss die Geräte ID heraus und kopiert diese ID.
adb devices
adb tools per wlan verbinden
Nun startet adb im tcpip modus. Hierfür ersetzt setzt ihr eure device id bei <deviceid> ein.
adb -s <deviceid> tcpip 5555
Nun könnt ihr euch auch per WiFi mit dem Smartphone verbinden.<ipdesAndorid> ist die IP aus eurem WLAN.
adb connect <ipdesAndorid>:5555
Im Anschluss könnt ihr Verbindung trennen und nun über das WLAN das Android Gerät per adb tool steuern.
adb tools Android KeyEvent – android per
adb tools einschalten
Ihr könnt eurer Android Gerät nun per adb tools einschalten. Nutzt hierfür den folgenden Befehl und ersetzt die IP und den Port, die ihr angegeben habt.
adb -s <IPAdresse:Port> shell input keyevent KEYCODE_POWER
Alle KeyEvents findet ihr auf der Android Entwicklerseite. Wollt ihr z.B. den HomeScreen aufrufen, ändert sich das KeyEven am Ende.
adb -s <IPAdresse:Port> shell input keyevent KEYCODE_HOME
adb tools app starten
Nun könnt ihr per adb eine beliebige android app starten. Hierfür nutzt folgenden Befehl. <APPID> ist die Android App ID.
adb shell monkey -p <APPID> -c android.intent.category.LAUNCHER 1
Da jeder Gmail hat, nehmen wir dies als Beispiel. Um die Android App Id zu ermitteln, geht in den Playstore und sucht nach der App. Die Android App Id findet ihr in der Url.
Unser Befehl lautet daher:
adb shell monkey -p com.google.android.gm -c android.intent.category.LAUNCHER 1
adb tools app stoppen
Eine App stoppt ihr mit dem folgenden Befehl:
adb shell am force-stop <APPID>
Für unseren Fall von GMail also:
adb shell am force-stop com.google.android.gm
Falls ihr weitere Infos zur Steuerung braucht, schaut in die Android Entwickler Dokumentation.