无法连接到SL4A服务器
我无法连接到Android脚本层服务器。当我运行命令时,出现了以下错误:
> >>> 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
环境:在Linux上使用带有pydev插件的Eclipse进行Android开发。
如果按照George Goh的解决方案操作后,问题依然存在,那么可以通过Eclipse的解释器设置,添加一个环境变量,值设置为 AP_PORT=9999
。
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上测试过这个,所以在其他系统上可能会有不同的表现。