无法连接到SL4A服务器

0 投票
2 回答
1859 浏览
提问于 2025-04-17 05:43

我无法连接到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上测试过这个,所以在其他系统上可能会有不同的表现。

撰写回答