Der hier vorgestellte Code ist im Rahmen des Python Workshop entstanden.
Wichtig ist auf jeden Fall, dass android.py im Verzeichnis liegt, aus dem heraus python
in der Konsole aufgerufen wird (Umgebungsvariable).
Im Zuge des Workshops wurde ein HowTo entwickelt, wie sich der Emulator mit dem Rechner verbinden lässt, um auf seinen Rechner arbeiten zu können. Die Links finden sich dann unten
platform-tools
wechselnsudo adb start-server
./adb forward tcp:9999 tcp:5554
export AP_PORT=9999
Falls es zu dem Fehler
java.lang.SecurityException: Authentication failed!
Result(id=0, result=None, error=u'java.lang.SecurityException: Authentication failed!')
kommt, gibt es folgenden Lösungsweg:
set AP_PORT=9999
set AP_HOST=localhost
adb forward tcp:9999 tcp:5554
adb shell am start -a com.googlecode.android_scripting.action.LAUNCH_SERVER -n com.googlecode.android_scripting/.activity.ScriptingLayerServiceLauncher –ei com.googlecode.android_scripting.extra.USE_SERVICE_PORT 5554 (eine Zeile)
Alternativ kann auch so vorgegangen werden:
PATH=$PATH:$HOME/mein/Pfad/zu/platform-tools
(Pfadvariabel verändern, alternativ in der bashrc eintragen)platform-tools
wechseln (wegen adb)adb forward tcp:9999 tcp:5554
(Port-Weiterleitung. ggf. auch mit ./adb forward …
auszuführen). Hierbei bezeichnet den Port, auf dem der Server lauscht (siehe 4. oben)export AP_PORT=9999
(oder unter Windows der Befehl set AP_PORT=9999
)Zum Überprüfen auf Erfolg kann ein einfaches Hello World getestet werden. Dazu den Python-Interpreter starten und folgende Befehle ausführen:
import android
d = android.Android()
d.makeToast('Hello, World!')
Jetzt sollte auf dem Android-Gerät (entweder physisch oder emuliert) eine kurzzeitige Nachricht „Hello, World!“ auftauchen. Wer jetzt anfangen will, kann sich auch der englischsprachigen API-Referenz bedienen.