Python SL4A开发

时间:2012-05-31 19:16:47

标签: android python sl4a

好的 - 我感觉自己像个沮丧的白痴。我想提前说明。

我正在尝试进行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.

任何帮助或初学者教程都会非常感激。

我知道我必须做错事,因为我看到其他人设置了,看起来相对容易。

提前致谢。

1 个答案:

答案 0 :(得分:8)

1。启动服务器

在设备上

首先,使用USB连接设备。然后,对于远程调试,您需要在设备上启动服务器:

SL4A -> Interpreters -> Menu -> Start Server

私人最好。

然后您可以在Android通知区域中查找服务器的端口(使用SL4A r5,您可以在设置中指定固定端口)。

从PC

或者,您可以使用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


2。指定连接

现在您需要使用adb转发端口(假设查找值为51943):

$ adb forward tcp:51943 tcp:51943
$ export AP_PORT=51943


3。启动脚本

之后您应该能够在本地运行脚本:

$ python my_script.py


Wifi连接

如果您想通过wifi转发,则无需使用adb转发您的端口。相反,您必须使用 public 服务器并另外指定主机:

$ export AP_HOST=192.168.0.100 


参考

如需更多帮助,请参阅Wiki page addressing this topic