[基本修复] uiautomator2 在安卓小米9 手机上初始化报错:http.client.RemoteDisconnected 远程连接关闭,无响应-正在运行 (2023)

您现在的位置:我在途中 > uiautomator2 > [基本修复] uiautomator2在安卓小米9手机上启动报错:http.client.RemoteDisconnected 远程连接关闭无响应

抽奖:

【未解决】小米9安卓手机欢乐对战游戏自动关闭

同时,在 pipenv 中看到:

python -m uiautomator2 初始化

在安卓手机小米9上初始化uiautomator2,结果报错:

➜autoTestAndroidGameHappyBigBattle python -m uiautomator2 init[D 191119 22:05:39 init:109] 初始设备 AdbDevice(serial=8c8a4d4d)[I 191119 22:05:39 init:277] 安装 minicap, minitouch[D 191119: 22:05 39 init:51] Baixe https://tool.appetizer.io/openatx/stf-binaries/raw/master/node_modules/minitouch-prebuilt/prebuilt/arm64-v8a/bin/minitouchminitouch |⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿| 33.9K/33.9K[D 191119 22:05:40 init:186] Empurre para /data/local/tmp/minitouch:0755[I 191119 22:05:40 init:283] Android Q (sdk:29) 没问题资源 minicap[D 191119 22:05:40 init:51] Baixe https://tool.appetizer.io/openatx/android-uiautomator-jsonrpcserver/releases/download/v0.1.6/bundle.jarbundle.jar |⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿| 450.6K/450.6K[D 191119 22:05:40 init:186] Empurre para /data/local/tmp/bundle.jar:0644[D 191119 22:05:40 init:51] Baixe https://tool. appetizer.io/openatx/android-uiautomator-jsonrpcserver/releases/download/v0.1.6/uiautomator-stub.jaruiautomator-stub.jar |⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿| 33.2K/33.2K[D 191119 22:05:40 init:186] Empurre for /data/local/tmp/uiautomator-stub.jar:0644[I 191119 22:05:40 init:292] 安装 com.github。 uiautomator,com.github.uiautomator.test 2.0.3[D 191119 22:05:40 init:112] Shell:('pm','uninstall','com.github.uiautomator')[D 191119 22:05: 40 init:112] Shell: ('pm', 'uninstall', 'com.github.uiautomator.test')[D 191119 22:05:41 init:51] Baixe https://tool.appetizer.io/openatx /android-uiautomator-server/releases/download/2.0.3/app-uiautomator.apkapp-uiautomator.apk |⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿| 1.7M/1.7M[D 191119 22:05:41 init:186] Empurre for /data/local/tmp/app-uiautomator.apk:0644[D 191119 22:05:41 init:112] Shell: ( 'pm ', 'install', '-r', '-t', '/data/local/tmp/app-uiautomator.apk')[D 191119 22:05:52 init:51] Baixe https:// 工具。 appetizer.io/openatx/android-uiautomator-server/releases/download/2.0.3/app-uiautomator-test.apkapp-uiautomator-test.apk |⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿| 1.2M/1.2M[D 191119 22:05:53 init:186] Empurre for /data/local/tmp/app-uiautomator-test.apk:0644[D 191119 22:05:53 init:112] Shell : ( 'pm', 'install', '-r', '-t', '/data/local/tmp/app-uiautomator-test.apk')[D 191119 22:05:57 init:214] 实际版本: [0、7、4],预期版本:[0、7、4][I 191119 22:05:57 init:300] 验证安装[D 191119 22:05:57 init:310] 路由:本地:tcp: 58678 -> remote:tcp:7912...[D 191119 22:06:02 init:310] Route: local:tcp:58678 -> remote:tcp:7912Traceback (last most recent call):Arquivo "/Users /crifan /.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/urllib3/connectionpool.py", 第 672 行,在 urlopenchunked=chunked,File "/Users/crifan/.local/share /virtualenvs /autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/urllib3/connectionpool.py”,第 421 行,在 _make_requestsix.raise_from(e, None)File“<string>”,第 3 行,在 raise_fromFile“/Users/ crifan/.local/share/virtualenvs/aut oTestAndroidGameHappyBigBattle-F2NzwZ7Z /lib/python3.7/site-packages/urllib3/connectionpool.py”,第 416 行,在 _make_requesthttplib_response = conn.getresponse()File “/usr/local/Cellar/python/3.7.3/Frameworks/Python .framework/ Versions/3.7/lib/python3.7/http/client.py”,第 1321 行,在 getresponseresponse.begin()File “/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/ Versions/3.7 /lib/python3.7/http/client.py", line 296, in beginversion, status, reason = self._read_status()File "/usr/local/Cellar/python/3.7.3/Frameworks/Python .framework/Versions/3.7/lib/python3.7/http/client.py", line 265, in _read_statusraise RemoteDisconnected("Remote end closed connection without"http.client.RemoteDisconnected: Remote end closed connection without responseDuring treatment of excess,发生另一个异常:回溯(最近一次调用):文件“/Users/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/requests/adapters。 py", line 449, in sendtimeout=timeoutArquivo "/Usuários /crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/urllib3/connectionpool.py", line 720, in urlopenmethod, url, error=e, _pool=self, _stacktrace=sys .exc_info()[2]Arquivo "/Users/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/urllib3/ util/retry.py", line 400, incrementraise 6 .reraise(type(error), error, _stacktrace)File "/Users/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site- packages/urllib3/packages/six.py", line 734, in reraiser value.with_traceback(tb)File "/Users/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/ urllib3/connectionpool.py”,第 672 行,在 urlopenchunked =chunked,文件“/Users/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/urllib3/connectionpool.p y”,第 421 行,在 _make_requestsix.raise_from(e, None) 文件“<string>”,第 3 行,在 raise_fromFile“/Users/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/ site-packages/urllib3/connectionpool.py”,第 416 行,在 _make_requesthttplib_response = conn.getresponse()File “/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3 .7/http/client.py”,第 1321 行,在 getresponseresponse.begin( )Arquivo “/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7 / http/client.py", line 296, in beginversion, status, reason = self ._read_status()File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/ python3 .7/http/client.py", line 265, in _read_statusraise RemoteDisconnected(" Remote connection dated without "urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response')) During or上述异常处理,ocorreu 或其他例外:追溯(最近一次调用最后一次):文件“/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py”,第 193 行,在_run_module_as_main“__main__”,mod_spec)文件“/usr/local/Cellar/python /3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py”,第85行,在_run_codeexec( code, run_globals)Arquivo "/Users/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/uiautomator2/__main__.py", line 229, in <module>main()File “/Users/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/uiautomator2/__main__.py”,第 219 行,在 mainactions[args.subparser](args)Arquivo 中“/ Users/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3 .7/site-packages/uiautomator2/__main__.py", 第 34 行,在 cmd_initinit.install(args.server)Arquivo "/Users/crifan /.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F 2NzwZ7Z/lib/python3.7/site-packages/uiautomator2/init.py”,第301行,installself.check_atx_agent_version()File”</Users/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3 .7/site-packages/decorator.py:decorator-gen-4>”,第 2 行,在 check_atx_agent_versionFile “/Users/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages /retry/api.py”,第 74 行,在 retry_decoratorlogger)Arquivo “/Users/crifan/.local/share /virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/retry/api.py”,行33,在 __retry_internalreturn f() 文件“/Users/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/uiautomator2/init.py”中,第 311 行,在 check_atx_agent_versionversion = requests 中。 get("http://127.0.0.1:%d/version" % port).text.strip() 文件 "/Users/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/ site -pa ckages/requests/api.py”,第 75 行,在 getreturn request('get', url, params= params, **kwargs) 文件“/Usuários/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/ python3.7/site-packages/requests/api.py", line 60, in requestreturn session.request(method=method, url=url, **kwargs )Arquivo "/Users/crifan/.local/share/virtualenvs/ autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/requests/sessions.py”,第 533 行,在 requestresp = self.send(prep, ** send_kwargs)Arquivo “/Users/crifan/.local/share/virtualenvs /autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/requests/sessions.py", line 646, sendr = adapter.send(request, * *kwargs)Arquivo "/Users/crifan/.local/share/virtualenvs /autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/requests/adapters.py”,第 498 行,sendraise ConnectionError(err, request=request)requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected ('偏僻的结束关闭连接没有响应'))

http.client.RemoteDisconnected: 远程连接关闭,无响应

uiautomator2 http.client.RemoteDisconnected: 远程连接关闭无响应

尝试再次运行它:

python -m uiautomator2 初始化

结果:

问题仍然存在:

➜autoTestAndroidGameHappyBigBattle python -m uiautomator2 init[D 191119 22:12:01 init:109] 初始设备 AdbDevice(serial=8c8a4d4d)[I 191119 22:12:01 init:277] 安装 minicap, minitouch[D 191119: 22:12 01 init:48] 使用缓存资源:/Users/crifan/.uiautomator2/40b57fb8db0d9cc9349fd77248111576dad7e945698260536c6594fc/minitouch[D 191119 22:12:01 init:186] Press for /data/minitouch 816:datatmp/ Press for /data/minitouch 816:datatmp/ /minitouch[1:0759]:01 init:283] Android Q (sdk:29) 没有 minicap 资源[D 191119 22:12:01 init:48] 使用缓存资源:/Users/crifan/.uiautomator2/6edef50a02af79ddf2217874d1ce621d4a847d6762dc881c10d/ bundle.jar[D1 291 .jar :12:01 init:186] 推送到/data/local/tmp/bundle.jar:0641[D 1921]init 缓存的资源:/Users/crifan/.uiautomator2/42a21461fa2b0031646c206175ef315ae8a142421a79375 st21bautomatore [D 191119 22:12:01 init:186] 推送到 /data/local/tmp/uiautomator-stub.jar 19 :069414 22:12:01 init:295] 已安装 com.github.uiautomator pks[D 191119 22:12:01 i nit:214] 实际版本:[0, 7, 4],预期版本:[0, 7, 4][I 191119 22:12:01 init:300] 验证安装 [D 191119 22:12:01 init:310] Forward: local:tcp:58678 -> remote:tcp:7912。。。[D 191119 22:12:05 init:310] Forward: local:tcp:58678 -> remote:tcp:7912Traceback (last call): File "/Users/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/ python3. 7/site-packages/urllib3/connectionpool.py", line 672, in urlopenchunked=chunked,File "/Users/crifan /.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages /urllib3 /connectionpool.py”,第 421 行,位于 _make_requestsix.raise_from(e, None )File“<string>”,第 3 行,位于 raise_fromFile“/Users/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib /python3 .7/site-packages/urllib3/connectionpool.py”,第 416 行,在 _make_requesthttplib_ response = conn.getresponse()File “/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py”,第 1321 行,位于getresponseresponse.begin()文件“/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py”,第 296 行,在 beginversion,状态, reason = self._read_status()File "/usr/local/Cellar/python/3.7.3 /Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", 第 265 行,位于_read_statusraise RemoteDisconnected("Remote end connection closed without "http.client.RemoteDisconnected: Remote end connection closed without no response while handling the above exception, another exception occurred:...requests.exceptions.ConnectionError: ('Connection aborted', RemoteDisconnected ( '远程端连接关闭,无响应'))

然后在开发者选项中也开启了USB调试:

[基本修复] uiautomator2 在安卓小米9 手机上初始化报错:http.client.RemoteDisconnected 远程连接关闭,无响应-正在运行 (1)

请注意,此时 ATX 已安装在 Android Mi 9 上。

去打开ATX看看

打开后,它会请求权限,所有权限都授予:

[基本修复] uiautomator2 在安卓小米9 手机上初始化报错:http.client.RemoteDisconnected 远程连接关闭,无响应-正在运行 (2)

[基本修复] uiautomator2 在安卓小米9 手机上初始化报错:http.client.RemoteDisconnected 远程连接关闭,无响应-正在运行 (3)

查看主界面:

[基本修复] uiautomator2 在安卓小米9 手机上初始化报错:http.client.RemoteDisconnected 远程连接关闭,无响应-正在运行 (4)

结果发现:

[未解决] ATX failed to start UIAUTOMATOR on Mi 9: ATX Uiautomator won't start

看到上面的地址是这样写的:

192.168.31.17

Mac上的Safari打开192.168.31.17打不开。

ATX:Uiautomator 不启动

试试没有mac

➜~ curl -X GET 192.168.31.17/versioncurl: (7) 无法连接到端口 80 192.168.31.17:连接被拒绝 ➜~ curl -X GET 192.168.31.17:7912/versioncurl: (7) 无法连接到 192.168。 17 31.17 端口 7912:连接被拒绝

uiautomator2 RemoteDisconnected 远程连接关闭无响应

突然想到:也许以后不用想通了,uiautomator2就可以正常使用了?

查看日志,可以找到代码:

/Users/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/uiautomator2/init.py

def check_atx_agent_version(self):port = self._device.forward_port(7912)self.logger.debug("Encaminhar: local:tcp:%d -> remoto:tcp:%d", porta, 7912)versión = request.get ("http://127.0.0.1:%d/versión" % puerto).text.strip()self.logger.debug("atx-agent versión %s", versión)

体验非 Mac:

➜~ curl -X GET 127.0.0.1:7912/versioncurl: (7) 无法连接到端口 127.0.0.1 7912:连接被拒绝 ➜~ curl -X GET http://127.0.0.1:7912/versioncurl: (7)连接到端口 127.0.0.1 时出错 7912:连接被拒绝

我什至连不上

看起来:

前提是你需要在mac本地运行命令

但是这里很明显mac上没有运行任何东西

一个服务怎么可能运行?

说你需要 2 个 apk

应用程序uiautomator.apk

应用-uiautomator-test.apk

求助:这样的脚本执行不了了,不知道为什么/吉普鞋网

我是启动服务 --user -2 -n com.github.uiautomator/.Service

你尝试在 mac 上运行上面的命令吗?

➜~ am startservice --user -2 -n com.github.uiautomator/.Servicezsh: command not found: am

版本:

curl -X POST -d command="am startservice -n com.github.uiautomator/.Service" http://10.0.100.228:7912/shell

-"表示我应该在移动设备上运行

去Mac ping 安卓终端

➜~ ping 192.168.31.17PING 192.168.31.17 (192.168.31.17): 56 bytes de dados64 bytes de 192.168.31.17: icmp_seq=0 ttl=64 time=4.429 ms64 bytes de 192.168.31.6q6q8.31.11 =64 tiempo=4.429 ms64 bytes de 192.168.31.6q= 4 icmp_seq=1 EM

有用。

找时间看看

提及:

再试一次:

python -m uiautomator2 初始化

决赛

[I 191120 19:54:54 init:300] 检查安装

然后几次:

[D 191120 19:54:54 init:310] 转发:本地:tcp:60660 -> 远程:tcp:7912

之后报错。

再看代码,是:

/Users/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/urllib3/connectionpool.py

# Faça a solicitação no object of conexão httplib.httplib_response = self._make_request(conn,method,url,timeout=timeout_obj,body=body,headers=headers,chunked=chunked,)

然后底层就出来了

/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py

# 大概服务器在发送有效响应之前关闭了连接。

和邪恶

好像是在尝试连接,结果连接不上

然后看连接到哪个地址

似乎与

重新发送:本地:tcp:60660 -> 远程:tcp:7912

相关链接

更多调试:

# para depurar print("conn=%s,method=%s,url=%s,timeout_obj=%s,body=%s,headers=%s,chunked=%s" % \(conn, method, url, timeout_obj, cuerpo, encabezados, fragmentado))

结果:

[D 191120 20:04:30 init:310] 路由:local:tcp:60660 -> remote:tcp:7912conn=<urllib3.connection.HTTPConnection object at 0x108ad5c50>,method=GET,url=/version,timeout_obj=Timeout (connect=None, read=None, total=None), body=None, headers={'User-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', ' OK': '*/*', 'Connection': 'keep alive'}, hash=False

但我仍然不知道谁联系了谁。

查找:验证安装

出现:

/Users/crifan/.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/uiautomator2/init.py

self.logger.info("验证安装") self.check_atx_agent_version()print("成功启动 %s" % self._device)

Ir comprobar:check_atx_agent_version

def check_atx_agent_version(self):port = self._device.forward_port(7912)self.logger.debug("Encaminhar: local:tcp:%d -> remoto:tcp:%d", porta, 7912)versión = request.get ("http://127.0.0.1:%d/versión" % puerto).text.strip()self.logger.debug("atx-agent versión %s", versión)

绝对是这个版本

添加调试信息确认:

# version = request.get("http://127.0.0.1:%d/version" % puerto).text.strip()versionUrl = "http://127.0.0.1:%d/version" % portprint(" versionUrl=%s" % versionUrl)

连接的是:

versionUrl=http://127.0.0.1:60660/version

问题来了:

为什么在Mac本地有运行相应的服务让我可以访问http接口?

和我一样的问题

我有

def check_atx_agent_version(self):puerto = self._device.forward_port(7912)

其中,forward_port会被优先转发。

端口转发失败?

check_atx_agent_version 错误

uiautomator2 转发端口

这里

肯定会报错:

[基本修复] uiautomator2 在安卓小米9 手机上初始化报错:http.client.RemoteDisconnected 远程连接关闭,无响应-正在运行 (5)

因为没有服务在运行

uiautomator2/__main__.py

def check_agent_installed(self, agent_version):lport = self.forward_port(7912)log.debug("reenviar dispositivo(puerto:7912) -> %d", lport)intentar:r = request.get("http://127.0 .0.1:%d/version" % lport, timeout=5)return r.text.strip() == agent_versionexcept:return Falso
def connect_usb(serial=None):。。。adb = adbutils.Adb(serial)lport = adb.forward_port(7912)d = connect_wifi('127.0.0.1:' + str(lport))

所以就去这里:

直接运行usb连接代码进行测试

➜autoTestAndroidGameHappyBigBattle pythonPython 3.7.3 (standard, May 22 2019 10:55:14) [Clang 10.0.1 (clang-1001.0.46.4)] in darwinType "help", "copyright", "credits" or "license" " for更多信息。>>> import uiautomator2 as u2>>> d = u2.connect('8c8a4d4d')conn=<urllib3.connection.HTTPConnection object at 0x1077f4da0>,method=GET,url=/version,timeout_obj=Timeout (connect =2, read=2, total=none), body=none, headers={'User-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'OK' : '*/*', 'Connection': 'keep alive'}, hash=False

报同样的错误

看起来:

需要在手机上安装 ATX 及相关内容?

并确保 Uiautomator2 正常工作

肯定是手机上的Uiautomator2没有正常工作。

存在:

[未解决] ATX failed to start UIAUTOMATOR on Mi 9: ATX Uiautomator won't start

那段时间无意中发现可以启动:

ATX:Uiautomator 已启动

然后尝试重新开始:

➜autoTestAndroidGameHappyBigBattle python -m uiautomator2 init[D 191120 20:25:07 init:109] 初始设备 AdbDevice(serial=8c8a4d4d)[I 191120 20:25:07 init:277] 安装 minicap, minitouch[D 191120: 20:25 07 init:48] 使用缓存资源:/Users/crifan/.uiautomator2/40b57fb8db0d9cc9349fd77248111576dad7e945698260536c6594fc/minitouch[D 191120 20:25:07 init:186] Press for /data/local/tmp05:70sminitouch5没有 minicap 函数[D 191120 20:25:07 init:48] 使用缓存资产:/Users/crifan/.uiautomator2/6edef50a02af79ddf2217874d1ce621d4a847d6762dc86c10d5811a0/bundle.jar[D1.Djar 201 D2 201].jar: data/local/tmp/bundle.jar:0644[D 191120 20:25:07 init:48] 使用缓存资产:/Users/crifan/.uiautomator2/ 42a21461fa2b0031646c206175ef315ae8a142421a7675e219bautomator[stub.jar 29:1251:06 init]推送到/data/local/tmp/uiautomator-stub.jar:0644[I 191120 20:25:07 Yauicom 安装automator.7github:0 init.uicomgithub] applications[D 191120 20 : 25:07 i nit:214] 实际版本:[0, 7, 4],预期版本:[0, 7, 4][I 191120 20:25:07 init:300 ] 检查安装 [D 191120 20:25 : 07 init:310 ] Forward: local:tcp:60660 -> remote:tcp:7912versionUrl=http://127.0.0.1:60660/versionconn=<urllib3.connection.HTTPConnection object at 0x1097ee0f0>,method=GET,url=/version,timeout_obj=超时(connect=None, read=None, total=None),body=None,headers={'User-Agent': 'python-requests/2.22.0 ', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'},chunked=False[D 191120 20:25:07 init:315] atx-agent version 0.7.4成功启动AdbDevice (serial=8c8a4d4d)

实际上,它可以正常启动。

但是USB连接好像还是报错:

>>> importar uiautomator2 como u2>>> d = u2.connect('8c8a4d4d')conn=<urllib3.connection.HTTPConnection object at 0x1077f4588>,method=GET,url=/version,timeout_obj=Timeout(connect=2, lectura = 2, total = Ninguno), cuerpo = Ninguno, encabezados = {'User-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '* /*', 'Connection': 'keep-alive'},chunked=Falseconn=<urllib3.connection.HTTPConnection object at 0x1077f4be0>,method=GET,url=/version,timeout_obj=Timeout(connect=2, read=2 , total=Ninguno),body=Ninguno,headers={'User-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*' , 'Connection': 'keep-alive'},chunked=Falseconn=<urllib3.connection.HTTPConnection object at 0x1077f4be0>,method=POST,url=/jsonrpc/0,timeout_obj=Timeout(connect=2, read=2, total=Ninguno),body={"jsonrpc": "2.0", "id": 1, "método": "deviceInfo"},headers={'User-Agent': 'python-requests/2.22.0', 'Aceptar-codificación': 'gzip, desinflar', 'Aceptar': '*/*', 'Conexión' : 'mantener vivo', 'Contenido-Longitud': '51'},chun ked = falso

突然发现上面好像是log,不是error,应该是重复的:

打印(d.info)

一样的。

在此期间,ATX 无法再次启动 uiautomator。

但最终,经过多次尝试,它奏效了:

>>> importar uiautomator2 como u2>>> d = u2.connect('8c8a4d4d')conn=<urllib3.connection.HTTPConnection object at 0x1078b40b8>,method=GET,url=/version,timeout_obj=Timeout(connect=2, lectura = 2, total = Ninguno), cuerpo = Ninguno, encabezados = {'User-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '* /*', 'Connection': 'keep-alive'},chunked=False...conn=<urllib3.connection.HTTPConnection object at 0x1078ab588>,method=GET,url=/version,timeout_obj=Timeout(connect=2 , lectura = 2, total = Ninguno), cuerpo = Ninguno, encabezados = {'User-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': ' */*', 'Connection': 'keep-alive'},chunked=False>>> print(d.info)conn=<urllib3.connection.HTTPConnection object at 0x1078ab588>,method=POST,url=/jsonrpc/ 0,timeout_obj=Tiempo de espera(conexión=60, lectura=60, total=Ninguno),cuerpo=b'{"jsonrpc": "2.0", "id": "620310ab32067da976a5f2fdf327da94", "método": "deviceInfo", "params": {}}',headers={'我们er-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Acc ept': '*/*', 'Connection': 'keep-alive', 'Content -Type': 'application/json', 'Content-Length': '98'}, fragmentado=False/Users/ crifan/ .local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/ uiautomator2/__init__.py:462: RuntimeWarning: uiautomator2 não está respondiendo, reinicie uiautomator2 automaticamentstacklevel=1)conn=<urllib3.connection .HTTPConnection objeto em 0x1078ab588>,method=POST,url=/jsonrpc/0,timeout_obj=Timeout(connect =2, read=2, total=None),body={"jsonrpc": "2.0", "id": 1, "método": "deviceInfo"},headers={'User-Agent': 'python- requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/* ', 'Conexión': 'keep-alive', 'Content-Length': '51'}, fragmentado=False[D 191120 21:17:10 __init__:639] 强制重置 uiautomator...[D 191120 21:17 :10 __init__:655] uiautomator(1.0) está initiciando ......[D 191120 21: 17:11 __init__:655] uiautomator(1.0) está ini ciando ......[I 191120 21:17:12 __init__: 643] uiautomator de volta ao normalconn=<ur llib3.connection.HTTPConn objeto de acción en 0x1078ab588>,method=POST,url=/jsonrpc/0, timeout_obj=超时(connect=60,read=60,total=None),body=b'{“jsonrpc”:“2.0”,“id”:“dea4a81ba7c095551ccadd0fe17d7836”,“método”:“deviceInfo”,“params”: {}}',headers={'User-Agent': 'python-requests/2.22.0', 'Accept- Codificación': 'gzip, deflate', 'Aceptar': '*/*', 'Conexión': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '98' }, fragmentado = Falso{ 'currentPackageName': 'com.github.uiautomator', 'displayHeight': 2135 , 'displayRotation': 0, 'displaySizeDpX': 393, 'displaySizeDpY': 851, 'displayWidth': 1080, 'productName': 'cepheus', 'sdkInt': 29, 'naturalOrientation': Verdadero}>>>

这是:

importar uiautomator2 como u2d = u2.connect('8c8a4d4d')print(d.info)

(经过多次尝试终于连接上了)输出设备信息:

{'currentPackageName': 'com.github.uiautomator', 'displayHeight': 2135, 'displayRotation': 0, 'displaySizeDpX': 393, 'displaySizeDpY': 851, 'displayWidth': 1080, 'productName': 'cepheus' , 'sdkInt': 29, 'naturalOrientation': Verdadero}

向上。

[部分修复] 在小米 9 上启动 UIAUTOMATOR 时 ATX 崩溃:ATX Uiautomator 未启动

至此,问题已经解决。

【恢复】

python -m uiautomator2 初始化

最初安装一些包

之后,结果会报错:

[I 191119 22:05:57 init:300] 验证安装[D 191119 22:05:57 init:310] Route: local:tcp:58678 -> remote:tcp:7912....File "/Users/ crifan /.local/share/virtualenvs/autoTestAndroidGameHappyBigBattle-F2NzwZ7Z/lib/python3.7/site-packages/uiautomator2/init.py",第 311 行,在 check_atx_agent_versionversion = request.get("http://127.0.0.1:% d /version" % porta).text.strip()...requests.Exceptions.ConnectionError: ('Connection aborted', RemoteDisconnected('Connection closed from remote end with no response'))

原因:

手机上的uiautomator服务没有启动。

解决方案:

转到移动设备以启动 uiautomator 服务。

具体阶段:

打开手机上安装的ATX,点击

启动 UIAUTOMATOR

  • 如果正常:将显示祝酒词:ATX: Uiautomator started
  • 如果异常,会显示toast: ATX: Uiautomator does not start
    • 如果有,如何解决?
      • 参考:
        • [部分修复] 在小米 9 上启动 UIAUTOMATOR 时 ATX 崩溃:ATX Uiautomator 未启动
      • 但我也不确定根本原因。
      • 现在,我只能尝试去
        • ATX 和 com.github.uiautomator.test 允许所有权限
        • 多试几次
          • 亲爱的。

转载请注明:我在途中»[基本修复] uiautomator2在安卓小米9手机上启动报错:http.client.RemoteDisconnected 远程连接关闭无响应

发表观点: 1.114

Top Articles
Latest Posts
Article information

Author: Prof. Nancy Dach

Last Updated: 05/19/2023

Views: 5444

Rating: 4.7 / 5 (77 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Prof. Nancy Dach

Birthday: 1993-08-23

Address: 569 Waelchi Ports, South Blainebury, LA 11589

Phone: +9958996486049

Job: Sales Manager

Hobby: Web surfing, Scuba diving, Mountaineering, Writing, Sailing, Dance, Blacksmithing

Introduction: My name is Prof. Nancy Dach, I am a lively, joyous, courageous, lovely, tender, charming, open person who loves writing and wants to share my knowledge and understanding with you.