Python SL4A开发

Pau*_*aul 8 python android 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")
Run Code Online (Sandbox Code Playgroud)

我在Eclipse中遇到包含"com.googlecode.android_scripting.rpc.RpcError:Unknown RPC"的错误.对不好的魔术数字.

当我通过CLI进入Python并输入时

import android
Run Code Online (Sandbox Code Playgroud)

我得到以下输出

com.googlecode.android_scripting.rpc.RpcError: Unknown RPC.
Run Code Online (Sandbox Code Playgroud)

任何帮助或初学者教程将非常感激.

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

提前致谢.

sch*_*mar 8

1.启动服务器

在设备上

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

SL4A -> Interpreters -> Menu -> Start Server
Run Code Online (Sandbox Code Playgroud)

私人一种是优选的.

然后,您可以在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
Run Code Online (Sandbox Code Playgroud)


2.指定连接

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

$ adb forward tcp:51943 tcp:51943
$ export AP_PORT=51943
Run Code Online (Sandbox Code Playgroud)


3.启动脚本

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

$ python my_script.py
Run Code Online (Sandbox Code Playgroud)


无线连接

如果你想通过wifi,你不需要转发你的端口adb.相反,您必须使用公共服务器并另外指定主机:

$ export AP_HOST=192.168.0.100 
Run Code Online (Sandbox Code Playgroud)


参考

有关更多帮助,请参阅解决此主题Wiki页面.