UIAutomatorViewer 出现错误:Unable to connect to adb

最近升级了AndroidSDK,打开UIAutomatorViewer.bat,结果发现获取不了Android设备界面上的UI信息。经过一番努力,终于把这个问题解决了,详细过程如下:

1. Unable to connect to adb.Check if adb is installed correctly.问题:

UIAutomatorViewer.bat位于AndroidSDK\tools\bin路径下,是个十分常用的自动化测试工具,双击运行即可。谁知更新了最新的AndroidSDK之后,运行UIAutomatorViewer.bat就出现了以下错误:

Unable to connect to adb.Check if adb is installed correctly.

2. 解决方案

打开uiautomatorviewer.bat,将最后一句%prog_dir%替换成AndroidSDK\tools路径,保存后再次打开uiautomatorviewer.bat即可得到当前View所有信息。

uiautomatorviewer.bat源码片段

替换上一句为下面这句:

uiautomatorviewer.bat源码片段修改后

3. 为什么这么修改就能解决问题了呢?

1) 打开uiautomatorviewer.bat,发现最后一句是关键代码,也许问题就出现在这里。

2) 打印出这最后一句里4个变量,可以得到如图所示路径,除了prog_dir,其他3个很显然都没有问题。

3) 反编译uiautomatorviewer-25.3.2.jar,搜索com.android.uiautomator.bindir,在以下文件中找到相应的代码,

由此可见jar文件里:

A. prog_dir就是这里的toolsDir;

B. Sdk路径是prog_di的父路径;

C. adb路径是prog_di的父路径下platform-tools文件夹。

uiautomatorviewer源代码片段

再看uiautomatorviewer.bat,prog_dir= D:\android\AndroidSDK\tools\bin,因此

A. toolsDir路径就是D:\android\AndroidSDK\tools\bin;

B. Sdk路径是D:\android\AndroidSDK\tools\;

C. adb路径是D:\android\AndroidSDK\tools\platform-tools,显然这个路径并不存在,于是就出现了unable to connect adb。

所以将com.android.uiautomator.bindir设置成AndroidSDK\tools路径,问题就解决了。

转载于:https://www.cnblogs.com/mabingxue/p/9594009.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值