目录

一、Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn‘t

报错场景

报错原因

解决方法


一、Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn‘t

报错场景

打开Android SDK目录,找到 tools 文件夹,在 tools 文件夹中找到并运行 uiautomatorviewer.bat(Windows系统)或者uiautomatorviewer(Mac或Linux系统)。在UlAutomatorViewer中,点击设备上的应用程序窗口,然后点击"Capture"按钮来获取Ul层次结构XML文件。

在使用uiautomatorviewer来获取UI层次结构XML文件时报错了:Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn't exist!

报错原因

在Android开发过程中,我们经常会遇到获取UI层次结构XML文件的需求。通过获取UI层次结构XML文件,我们可以分析应用程序的界面结构,从而进行UI自动化测试、性能优化或者调试工作。然而,在获取UI层次结构XML文件的过程中,有时候会遇到一些错误,其中一个常见的错误是"Error while obtaining UIhierarchy XML file:com.android.ddmlib.SyncException"。

"Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException"错误通常发生在使用Android Debug Bridge(ADB)命令uiautomator dump 获取Ul层次结构XML文件时。该错误的原因是无法将设备上的UI层次结构XML文件同步到计算机上。

解决方法

(1)检查设备连接和ADB状态

首先,我们需要确保设备已经正确连接到计算机上,并且ADB已经启动。可以通过运行 adb devices 命令来检查设备连接状态,如果设备未连接或者ADB未启动,需要重新连接设备或者重启ADB服务。

(2)杀死adb服务器并重新启动它。

adb kill-server
adb start-server

在cmd命令窗口中,执行这两条命令后再次连接。

发现还是会报错。

(3)也试过网上的一些方法。

在网上找了很多办法都无效,大家可以试试看看哪种方式适合自己。

  1. 在cmd命令窗口中输入 adb root 即可。(无效)
  2. 重启手机无效(无效)
  3. 重新把手机拔了再插(我尝试了一下,没用)(无效)
  4. 重启appuim(无效)
  5. 重启uiautomatorviewer.bat(无效)
  6. 打开手机开发者权限,将USB调试按钮重新启动就好了(无效)

(4)

经过分析之后,发现是由于我的Android Studio当前处于调试debug状态,此时同时又在使用uiautomatorviewer来获取UI层次结构XML文件,就会出现报错。

当我关闭Android Studio的调试debug状态,就不报错了。

感觉可能是Android Studio在调试测试用例时,同时又打开uiautomatorviewer,发生了冲突。

更多推荐