我无法连接到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.启动专用服务器并将设备连接到计算机。
可能出现什么问题?
答案 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
的环境变量。