无法连接到SL4A服务器

时间:2011-11-05 20:15:44

标签: android python sl4a

我无法连接到Android Scripting图层服务器。当我运行该命令时,我收到以下错误:

> >>> a = android.Android() Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File "android.py", line 34, in
> __init__
>     self.conn = socket.create_connection(addr)   File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py",
> line 553, in create_connection
>     for res in getaddrinfo(host, port, 0, SOCK_STREAM): socket.gaierror: [Errno 8] nodename nor servname provided, or not
> known

我采取的步骤: 1.设置adb转发。 2.将Android.py文件提供给解释器。 3.启动专用服务器并将设备连接到计算机。

可能出现什么问题?

2 个答案:

答案 0 :(得分:3)

您是否导出了“AP_PORT”环境变量?

应将其设置为转发到的端口。

例如,如果您设置转发端口,如下所示:

$ adb forward tcp:9999 tcp:{SL4A port}

您需要在进入python解释器之前设置AP_PORT,如下所示:

$ export AP_PORT=9999

我有一个脚本可以设置环境并在这里启动python解释器:

https://github.com/georgegoh/Android-Scripting/blob/master/py4a_start.sh

我只在Ubuntu上测试并使用它,所以YMMV。

答案 1 :(得分:0)

环境:带有pydev插件的Eclipse和Linux中的Android开发。

如果在使用George Goh的解决方案后出现同样的问题,那么使用Eclipse的解释器设置传递值为AP_PORT=9999的环境变量。