Appium uiautomator2 与华为安卓 6.0 不兼容的问题--仍未完全解决。。

donly · 2017年10月26日 · 最后由 盗版迷糊 回复于 2017年11月03日 · 2653 次阅读

问题描述

之前用 uiautomator2 在我的华为 6.0 手机上,总是会跑不起来,每次都卡在这里:

[debug] [ADB] Running 'D:\android-sdk\platform-tools\adb.exe' with args: ["-P",5037,"-s","A2JDU16727005802","forward","--remove","tcp:8200"][error] [MJSONWP] Encountered internal error running command: ProxyRequestError: Could not proxy command to remote server. Original error: Error: read ECONNRESET
    at JWProxy.proxy$ (C:\Users\Jorble\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-base-driver\lib\jsonwp-proxy\proxy.js:152:13)
    at tryCatch (C:\Users\Jorble\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:67:40)
    at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\Jorble\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:315:22)
    at GeneratorFunctionPrototype.prototype.(anonymous function) [as throw] (C:\Users\Jorble\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:100:21)
    at GeneratorFunctionPrototype.invoke (C:\Users\Jorble\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:136:37)
[info] [HTTP] <-- POST /wd/hub/session 500 243641 ms - 217 

解决办法

后来看日志,发现对于 apk 用了 zipalign.exe,但是因为我的 tools 目录下没有这个文件,所以用的是\build-tools\19.1.0\zipalign.exe 这个。所以我拷贝了 25.0.2 中的 zipalign.exe 和 appt.exe 到 tools 文件夹中,并且卸载了手机上的 uiautomator2 应用。然后重新启动,果然,就可以了啊~~
但是,隔了一天,我再来用的时候,发现又不行了!!
于是我又重复了一次以上步骤,因为 uiautomator2 并不会每次都安装。
这次安装好了以后,我将 uiautomator2 添加为受保护的应用,今天试过好多次,都可以成功了。
这么看来,我应该是解决了这个问题了吧???希望明天再来的时候不会再重现~~

共收到 10 条回复 时间 点赞
donly #10 · 2017年10月27日 Author

今天悲催的发现,还是不行。。。仍然会卡住,手机端的 uiautomator2 启动不了。。难道要每天重装一次吗😅

兄弟,这标题还得改改,哈哈,明明未解决😂
另外据我观察,这个 ui2.0 服务在起一段时间之后就会发生这种不响应的问题

bauul 回复

标题已改,谢谢提醒。按照我的这个方法重新安装 uiautomator2 服务的话,会好很多,不会像以前那样,成功一遍,第二遍就失败。。怀疑是手机内部自己做了什么处理。。

我现在是发现不行了,就卸载掉手机上这两个服务,让它重装。

donly 回复

嗯,用不了一个小时问题就又出来了,我也没找到什么好方法

5楼 已删除

嗯,这也是一种方法,或者重启手机,等找到真正原因才好解决

同感,很不稳定,有时候重装 appium 就可以了,暂时放弃它了

今天再次频繁出现,连接超时的问题。。

卸载掉手机上的 uiautomator2 的两个服务,再测执行测试。这是目前为止我发现的最方便的方法。。。当然不能彻底解决这个问题。

windows 之前 appium-uiautomator2-driver v0.1.5 运行没有问题,后来装 Linux 测试环境,安装 appium1.7 自带 appium-uiautomator2-driver v0.1.8 版本发现执行报错,后来将 v0.1.5 版本替换掉 v0.1.8 版本,Linux 环境运行正常。

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