Android 11使用Uiautomotorviewer无法获取手机页面元素,提示Unexpected error while obtaining UI hierarchy java.lang.reflect.InvocationTargetException

(亲试有用)Android app 元素定位除了使用Appium Inspector 外,还可以使用Android SDK 里tools中的uiautomatorviewer 工具。但今天打算使用 uiautomatorviewer 进行元素定位的时候,发现无法截图,并报如下错误:

Unexpected error while obtaining UI hierarchy
# 点击Details
java.lang.reflect.InvocationTargetException

查找资料了解到,从Android 8.0开始,SDK 工具软件包在新版本中已经弃用,所以tools里的uiautomatorviewer工具都不支持了。于是开始查找解决方法。

1,使用adb命令截图,再导入uiautomatorviewer进行定位。这种方法虽然可行,但太麻烦了。

2,下载修改过的 uiautomatorviewer.bat,将tools里的uiautomatorviewer.bat文件替换掉。但在某博客网站上居然需要money才能下载,表示谴责......

3,将SDK目录中tools文件夹下lib中的ddmlib、ddms、ddmuilib 、uiautomatorviewer这四个jar文件替换掉即可。

下面是这四个新文件的下载地址:
链接:  https://pan.baidu.com/s/1YIHPgRSOL_mBgR1LG9ZYLQ 

提取码:  888q
替换完成后,重新打开tools中uiautomatorviewer.bat即可进行元素定位。

 

参考博文:https://www.cnblogs.com/lfr0123/p/13544750.html

posted @ 2021-06-03 11:27  酱醋茶cha  阅读(1063)  评论(0编辑  收藏  举报