Android Errno -2

时间:2016-07-16 18:45:10

标签: android python adb sl4a

我有一个脚本,我想使用ADB和SL4A在我的Android手机上运行。这个脚本在我的Windows机器上工作正常,但是当我从Linux尝试它时,我收到以下错误:

Traceback (most recent call last):
    File "test_device.py", line 12, in <module>
        droid = android.Android()
    File "device/android.py", line 34, in __init__
        self.conn = socket.create_connection(addr)
    File "/usr/lib/python2.7/socket.py", line 553, in create_connection
        for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno -2] Name or service not known

我正在运行的脚本是:

import sys
import random
import time
import redis

sys.path.append("lib")
sys.path.append("device")

import android
import instructions

droid = android.Android()
rdb = redis.Redis()
data = []

当我尝试设置机器人时,它失败了。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

问题在于我如何设置环境。通常,在Windows上我会这样做:

set AP_PORT = 99999
adb forward tcp:99999 tcp:99999

然后我就可以使用SL4A了。但是,因为系统是Linux而不是Windows,所以我必须这样做:

export AP_PORT=99999
adb forward tcp:99999 tcp:99999

相关文档非常有用:https://books.google.com/books?id=uYEmWet7QtsC&pg=PA50&lpg=PA50&dq=linux+ap_port+variable&source=bl&ots=iYo_Hkn5Nm&sig=Rx2EtkTr1o5ygN9b4DJpF5RfENs&hl=en&sa=X&ved=0ahUKEwjCwcKA6f3NAhXnyoMKHUvKANsQ6AEIHDAA#v=onepage&q=linux%20ap_port%20variable&f=false