好的 - 我感觉自己像个沮丧的白痴。我想提前说明。
我正在尝试进行Python / Android设置,以便为Android开发Python应用程序。我的Android设备上安装了SL4A和Python解释器,可以在运行的手机上编写应用程序。
问题是如何在PC上继续开发并与我的Android设备进行交互。我解压缩了额外的包并将它放在$ PYTHONPATH / site-packages /中。我已经将Ecplise与PyDev和Android软件包集成在一起,并设置了AP_PORT和AP_HOST环境变量。
当我运行以下代码时:
import android
droid = android.Android()
droid.makeToast("Hello")
我在Eclipse中遇到包含“com.googlecode.android_scripting.rpc.RpcError:Unknown RPC”的错误。对于不好的魔术数字。
当我通过CLI进入Python并输入
时import android
我得到以下输出
com.googlecode.android_scripting.rpc.RpcError: Unknown RPC.
任何帮助或初学者教程都会非常感激。
我知道我必须做错事,因为我看到其他人设置了,看起来相对容易。
提前致谢。
答案 0 :(得分:8)
首先,使用USB连接设备。然后,对于远程调试,您需要在设备上启动服务器:
SL4A -> Interpreters -> Menu -> Start Server
私人最好。
然后您可以在Android通知区域中查找服务器的端口(使用SL4A r5,您可以在设置中指定固定端口)。
或者,您可以使用adb
使用特定端口(设置端口所需的r5)从PC启动服务器:
$ 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 51943
现在您需要使用adb转发端口(假设查找值为51943):
$ adb forward tcp:51943 tcp:51943
$ export AP_PORT=51943
之后您应该能够在本地运行脚本:
$ python my_script.py
如果您想通过wifi转发,则无需使用adb
转发您的端口。相反,您必须使用 public 服务器并另外指定主机:
$ export AP_HOST=192.168.0.100
如需更多帮助,请参阅Wiki page addressing this topic。