ATX launch atx-agent daemon 失败解决办法

奋斗的鸡腿 · 2018年05月18日 · 最后由 奋斗的鸡腿 回复于 2018年05月21日 · 967 次阅读

参考https://testerhome.com/topics/11588
安装atx-agent环境时遇到
2018-05-18 13:58:35,549 - main.py:254 - INFO - atx-server addr 192.168.137.104:8000
2018-05-18 13:58:35,572 - main.py:269 - INFO - Detect pluged devices: [u'192.168.137.118:5555']
2018-05-18 13:58:35,572 - main.py:286 - INFO - Device(192.168.137.118:5555) initialing ...
2018-05-18 13:58:35,842 - main.py:113 - INFO - install minicap
2018-05-18 13:58:36,160 - main.py:120 - INFO - install minitouch
2018-05-18 13:58:36,407 - main.py:137 - INFO - apk(1.0.14) already installed, skip
2018-05-18 13:58:36,509 - main.py:175 - INFO - atx-agent(0.3.2) already installed, skip
2018-05-18 13:58:36,648 - main.py:212 - INFO - launch atx-agent daemon
2018-05-18 13:58:41,788 - main.py:238 - ERROR - failur
这个错误,提示无法启动atx-agent

后来在shell里模拟启动该服务发现不加-d参数是可以正常启动的:/data/local/tmp/atx-agent 可以正常启动该服务。
所以修改启动参数uiautomator2/main.py中第215行

去掉参数‘-d’
然后再启动,发现程序一直不往下继续进行,一直卡在启动atx-agent服务上,但是服务已经成功启动了。
所以继续查代码。
经过阅读大神的代发发现adbutils.py这个文件中第41行中所用到的subprocess.check_output()是pyton3的方法,在python2.7中根本没法用。
所以修改了下uiautomator2/adbutils.py中该行代码,用subprocess.Popen代替:

就可以启动成功了。
然后就可以正常运行了。

共收到 2 条回复 时间 点赞

python2.7 有check_output这个方法呀

Python 2.7.15 (default, May  6 2018, 19:27:01) 
[GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import subprocess
>>> subprocess.check_output
<function check_output at 0x107d04c08>
>>>
codeskyblue 回复

是的,有这个方法,一直没往下继续进行是因为,subprocess.check_output起的子进程一直不结束导致的。 是我看错了。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册