App crashes when run on real device- execution of Python Script

77 views
Skip to first unread message

Archana

unread,
Oct 30, 2012, 7:17:30 AM10/30/12
to python-fo...@googlegroups.com
Hi, my requirement is to communicate between 2 instances of android phones. Phone1 executes the script and posts to phone 2 using HTTP Post. Phone2 executes Python script and this is implemented as a service. I have tested this in emulator by hard-coding the IP address and port numbers. However, when I use a real device, I m getting the following error and my application crashes. Any guidance is appreciated. Thanks in advance!

This is my line 106 of ScriptService.java ->   mProxy.startLocal(); where mProxy is a reference of AndroidProxy
Log file:
----------
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893): Failed to start server.
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893): android.os.NetworkOnMainThreadException
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at java.net.InetAddress.lookupHostByName(InetAddress.java:391)
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at java.net.InetAddress.getLocalHost(InetAddress.java:371)
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at com.googlecode.android_scripting.SimpleServer.startLocal(SimpleServer.java:153)
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at com.googlecode.android_scripting.AndroidProxy.startLocal(AndroidProxy.java:67)
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at com.googlecode.android_scripting.AndroidProxy.startLocal(AndroidProxy.java:63)
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at executepython.android.ScriptService.onStart(ScriptService.java:106)
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at android.app.Service.onStartCommand(Service.java:438)
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2373)
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at android.app.ActivityThread.access$1900(ActivityThread.java:128)
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1224)
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at android.os.Looper.loop(Looper.java:137)
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at android.app.ActivityThread.main(ActivityThread.java:4517)
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at java.lang.reflect.Method.invokeNative(Native Method)
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at java.lang.reflect.Method.invoke(Method.java:511)
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
10-30 12:57:19.065: E/sl4a.SimpleServer:156(9893):  at dalvik.system.NativeStart.main(Native Method)
10-30 12:57:19.065: D/AndroidRuntime(9893): Shutting down VM
10-30 12:57:19.065: W/dalvikvm(9893): threadid=1: thread exiting with uncaught exception (group=0x40c5c1f8)
10-30 12:57:19.070: E/AndroidRuntime(9893): FATAL EXCEPTION: main
10-30 12:57:19.070: E/AndroidRuntime(9893): java.lang.RuntimeException: Unable to start service executepython.android.ScriptService@41a87658 with Intent { cmp=com.example.devicecommunication/executepython.android.ScriptService (has extras) }: java.lang.NullPointerException
10-30 12:57:19.070: E/AndroidRuntime(9893):  at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2390)
10-30 12:57:19.070: E/AndroidRuntime(9893):  at android.app.ActivityThread.access$1900(ActivityThread.java:128)
10-30 12:57:19.070: E/AndroidRuntime(9893):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1224)
10-30 12:57:19.070: E/AndroidRuntime(9893):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-30 12:57:19.070: E/AndroidRuntime(9893):  at android.os.Looper.loop(Looper.java:137)
10-30 12:57:19.070: E/AndroidRuntime(9893):  at android.app.ActivityThread.main(ActivityThread.java:4517)
10-30 12:57:19.070: E/AndroidRuntime(9893):  at java.lang.reflect.Method.invokeNative(Native Method)
10-30 12:57:19.070: E/AndroidRuntime(9893):  at java.lang.reflect.Method.invoke(Method.java:511)
10-30 12:57:19.070: E/AndroidRuntime(9893):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
10-30 12:57:19.070: E/AndroidRuntime(9893):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
10-30 12:57:19.070: E/AndroidRuntime(9893):  at dalvik.system.NativeStart.main(Native Method)
10-30 12:57:19.070: E/AndroidRuntime(9893): Caused by: java.lang.NullPointerException
10-30 12:57:19.070: E/AndroidRuntime(9893):  at com.googlecode.android_scripting.interpreter.InterpreterProcess.getHost(InterpreterProcess.java:75)
10-30 12:57:19.070: E/AndroidRuntime(9893):  at com.googlecode.android_scripting.interpreter.InterpreterProcess.<init>(InterpreterProcess.java:58)
10-30 12:57:19.070: E/AndroidRuntime(9893):  at com.googlecode.android_scripting.ScriptProcess.<init>(ScriptProcess.java:30)
10-30 12:57:19.070: E/AndroidRuntime(9893):  at com.googlecode.android_scripting.ScriptLauncher.launchScript(ScriptLauncher.java:85)
10-30 12:57:19.070: E/AndroidRuntime(9893):  at executepython.android.ScriptService.onStart(ScriptService.java:109)
10-30 12:57:19.070: E/AndroidRuntime(9893):  at android.app.Service.onStartCommand(Service.java:438)
10-30 12:57:19.070: E/AndroidRuntime(9893):  at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2373)
10-30 12:57:19.070: E/AndroidRuntime(9893):  ... 10 more

Anthony Prieur

unread,
Oct 30, 2012, 7:23:50 AM10/30/12
to python-fo...@googlegroups.com
Since HC you are not allowed to perform network operation in the UI
thread, so put all your network stuff in an other Thread or an
AsyncTask, see:
https://code.google.com/p/android-python27/source/browse/apk/src/com/android/python27/ScriptService.java
Reply all
Reply to author
Forward
0 new messages