Python SL4A 开发
Posted
技术标签:
【中文标题】Python SL4A 开发【英文标题】:Python SL4A Development 【发布时间】:2012-06-06 01:56:31 【问题描述】:好吧 - 我感觉自己像个沮丧的白痴。我想先声明一下。
我正在尝试进行 Python/android 设置,以便开发适用于 Android 的 Python 应用程序。我在我的 Android 设备上安装了 SL4A 和 Python 解释器,并且可以在手机上编写一个运行的应用程序。
问题是如何在我的 PC 上继续开发并与我的 Android 设备交互。我已经解压了 extras 包并将其放在 $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.
任何帮助或初学者教程将不胜感激。
我知道我一定是做错了什么,因为我看到其他人开始适应,看起来,相对轻松。
提前致谢。
【问题讨论】:
只是为了澄清。您想在 Eclipse 中开发 python 脚本并能够像使用 adb 进行原生开发一样将其推送到设备? 【参考方案1】:1。启动服务器
在设备上
首先,用 USB 连接您的设备。然后进行远程调试,你需要在你的设备上启动一个服务器:
SL4A -> Interpreters -> Menu -> Start Server
私人的更可取。
然后您可以在Android通知区域查找服务器的端口(使用SL4A r5您可以在设置中指定一个固定端口)。
从电脑
或者,您可以使用特定端口(设置端口需要 r5)从带有adb
的 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。
【讨论】:
嗨,我已经完成了 1,2 步骤,但是我已经在我的电脑上运行了 python 代码,我会收到这个错误ImportError: No module named android
,我已经在我的终端中尝试了wget 127.0.0.1:51943
我会收到这个味精Connecting to 127.0.0.1:51943... connected. HTTP request sent, awaiting response... No data received. Retrying.
在开发目录中的android-scripting.googlecode.com/hg/python/ase/android.py android.py 文件中下载并继续执行它工作正常的步骤以上是关于Python SL4A 开发的主要内容,如果未能解决你的问题,请参考以下文章
Android 应用程序开发上的 SL4A 与 Ruboto
我可以在 Android Market 上出售我的 SL4A 应用吗?