前言:
使用uiautomateviewer定位元素,在给设备屏幕截图时报错:
Error obtaining Ul hierarchy
Reason:
Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn't exist!
环境:
- JDK版本:jdk-8u291-windows-x64
- Android版本:Android 11
- Appium版本:1.21.0
出错原因:
感觉是国内定制系统为了保护这些APP做的防护或者是对应APP做的保护机制,原理没搞懂
解决方案:
网上搜到很多方法,遇到该错误的可以挨个试试,看看能否解决
- 在cmd命令窗口中输入 adb root 即可
- 重启手机
- 重新把手机拔了再插
- 重启uiautomatorviewer.bat
- 打开手机开发者权限,将USB调试按钮重新启动就好了
- 关闭Appium server
- 关闭并重启adb 服务器
adb kill-server # 关闭adb服务器 adb start-server # 启动adb服务器
- 以上所有方案如果都试过了,还是报错,请尝试使用Appium Desktop中的Appium Inspector定位元素