openatx / uiautomator2

Android Uiautomator2 Python Wrapper
MIT License
6.48k stars 1.39k forks source link

多台设备,USB没问题,Wifi就会随机几台设备出现adbutils.errors.AdbError: unknown host service #938

Closed duffercn closed 4 months ago

duffercn commented 8 months ago

连了8台手机,型号一样,都是小米Note 11。 用USB连接的时候可以正常工作,不会报Bug。但是用Wifi连接的时候,差不多一旦超过3台设备,就会出问题。本次出现的具体问题不一样,但最终一般都落到了这个问题上: adbutils.errors.AdbError: unknown host service 我在想,是因为网络不如USB稳定,所以Axagent 不能及时返回操作结果,然后再ADB就会出问题吗?求教!

adbutils.errors.AdbError: unknown host service [W 240207 15:36:37 init:218] [pid:3041] atx-agent has something wrong, auto recovering [I 240207 15:36:37 init:357] [pid:3041] [192.168.1.102] wait-for-device, time left(3.0s) Exception in thread Thread-7 (manage_users): Traceback (most recent call last): File "/opt/homebrew/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py", line 1045, in _bootstrap_inner self.run() File "/opt/homebrew/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py", line 982, in run self._target(*self._args, *self._kwargs) File "/Users/ZhenLi/PycharmProjects/mobile_control_v2/main.py", line 53, in manage_users app.start_app() File "/Users/ZhenLi/PycharmProjects/mobile_control_v2/douyin_interaction.py", line 24, in start_app self.ensure_at_base_screen() File "/Users/ZhenLi/PycharmProjects/mobile_control_v2/douyin_interaction.py", line 40, in ensure_at_base_screen if element.exists: File "/Users/ZhenLi/PycharmProjects/mobile_control_v2/venv/lib/python3.11/site-packages/uiautomator2/utils.py", line 105, in bool return self.nonzero() ^^^^^^^^^^^^^^^^^^ File "/Users/ZhenLi/PycharmProjects/mobile_control_v2/venv/lib/python3.11/site-packages/uiautomator2/utils.py", line 101, in nonzero return self.uiobject.jsonrpc.exist(self.uiobject.selector) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ZhenLi/PycharmProjects/mobile_control_v2/venv/lib/python3.11/site-packages/uiautomator2/init.py", line 479, in call return self.server._jsonrpc_retry_call(self.method, params, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ZhenLi/PycharmProjects/mobile_control_v2/venv/lib/python3.11/site-packages/uiautomator2/init.py", line 486, in _jsonrpc_retry_call return self._jsonrpc_call(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ZhenLi/PycharmProjects/mobile_control_v2/venv/lib/python3.11/site-packages/uiautomator2/init.py", line 513, in _jsonrpc_call res = self.http.post("/jsonrpc/0", ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ZhenLi/PycharmProjects/mobile_control_v2/venv/lib/python3.11/site-packages/requests/sessions.py", line 637, in post return self.request("POST", url, data=data, json=json, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ZhenLi/PycharmProjects/mobile_control_v2/venv/lib/python3.11/site-packages/uiautomator2/init.py", line 223, in request self.client._prepare_atx_agent() File "/Users/ZhenLi/PycharmProjects/mobile_control_v2/venv/lib/python3.11/site-packages/uiautomator2/init.py", line 314, in _prepare_atx_agent _d = self._wait_for_device() ^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ZhenLi/PycharmProjects/mobile_control_v2/venv/lib/python3.11/site-packages/uiautomator2/init__.py", line 367, in _wait_for_device adb.wait_for(self._serial, timeout=1) File "/Users/ZhenLi/PycharmProjects/mobile_control_v2/venv/lib/python3.11/site-packages/adbutils/_adb.py", line 218, in wait_for c.check_okay() File "/Users/ZhenLi/PycharmProjects/mobile_control_v2/venv/lib/python3.11/site-packages/adbutils/_adb.py", line 134, in check_okay raise AdbError(self.read_string_block()) adbutils.errors.AdbError: unknown host service

codeskyblue commented 4 months ago

更新到3.x试试

Louis24 commented 4 months ago

更新到3.x试试

为什么之前好好的啊 我在win10可以 win11 的ui和adb的版本跟之前完全一样 是因为dependency变了么

codeskyblue commented 4 months ago

Adb版本多少呀,adbutils修改了

ShawnPanxiaoming commented 2 months ago

adb 版本的问题,孙同学的adbutils在连接的时候发了一个command做连接检测,39版本的adb不支持这种,更新到41就好了

Louis24 commented 2 months ago

已解决 closed