Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

AndroidViewClient - не видит девайс после проброса портов с виртуалки по NAT


(HaraD) #1

AVC - аналог UIAutomator для android на python ([github][1])
Скрипты работают без проблем на обычной машине, и на виртуалке. Перестают работать после проброса 80 порта в vmware (8080 ip:80) по nat, при этом adb видит девайс и скрипт выдает ошибку:

Traceback (most recent call last):
  File "launcher.py", line 5, in <module>
    import device
  File "/home/test/www/ANDROID/device.py", line 11, in <module>
    device, serialno = ViewClient.connectToDeviceOrExit(verbose=False)
  File "/usr/local/lib/python2.7/dist-packages/androidviewclient-7.0.4-py2.7.egg/com/dtmilano/android/viewclient.py", line 1436, in connectToDeviceOrExit
    device = adbclient.AdbClient(serialno)
  File "/usr/local/lib/python2.7/dist-packages/androidviewclient-7.0.4-py2.7.egg/com/dtmilano/android/adb/adbclient.py", line 89, in __init__
    self.__connect()
  File "/usr/local/lib/python2.7/dist-packages/androidviewclient-7.0.4-py2.7.egg/com/dtmilano/android/adb/adbclient.py", line 129, in __connect
    raise RuntimeError("ERROR: Connecting to %s:%d: %s.\nIs adb running on your computer?" % (self.socket, self.port, ex))
RuntimeError: ERROR: Connecting to <socket._socketobject object at 0x7f22a2a2ac20>:5037: [Errno 111] Connection refused.
Is adb running on your computer?
test@ubuntu:~/www/ANDROID$ adb devices
List of devices attached 
4d009a1a0ff93183    device

Вот код запуска:

import sys
import os

try:
    sys.path.append(os.path.join(os.environ['ANDROID_VIEW_CLIENT_HOME'], 'src'))
except:
    pass

from com.dtmilano.android.viewclient import ViewClient

device, serialno = ViewClient.connectToDeviceOrExit(verbose=False)

def init():
    global device
    return device

Разработчик молчит, насколько я понял, проблема именно в портах т.к. с adb все в порядке. Возможно у кого-то были похожие случаи с другими инструментами?
[1]: https://github.com/dtmilano/AndroidViewClient


(HaraD) #2

Решено - проблема была в hosts файле - AVC слушает localhost, а он был прописан не на 127.0.0.1.