8

好吧——我感觉自己像个沮丧的白痴。我想先声明一下。

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

任何帮助或初学者教程将不胜感激。

我知道我一定做错了什么,因为我看到其他人开始接受,看起来,相对轻松。

提前致谢。

4

1 回答 1

8

1.启动服务器

在设备上

首先,用 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


2.指定连接

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

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


3.启动脚本

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

$ python my_script.py


无线网络连接

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

$ export AP_HOST=192.168.0.100 


参考

如需更多帮助,请参阅解决此主题的 Wiki 页面

于 2012-06-05T08:37:37.703 回答