首页 > 解决方案 > 如何转储前台 Android 活动的 XML 布局(没有 uiautomator)?

问题描述

我一直在使用adb shell uiautomator dump,这在我的 Pixel 2 设备上的某些应用程序中有时会起作用当它决定不工作时,我收到以下错误消息:

错误:无法获得空闲状态。

我在网上读到这可能是由于 UI 在执行转储时没有保持静止,但即使在让应用程序空闲几分钟后,我仍然看到该错误。甚至尝试重新启动并重新启动设备。有没有更可靠的解决方案,最好是本地解决方案?

标签: androidxmllayoutadbandroid-uiautomator

解决方案


您可以尝试CulebraTester2。它不使用uiautomator,因此您可能不会受到其限制的影响,这需要一些空闲时间才能获得转储,并且当动画不断更新时不会发生这种情况。

Github Actions上提供了预构建的 APK (请参阅工件)。

  1. 安装两个 APK
  2. 启动服务器:./culebratester2 start-server
  3. 转储层次结构: ./dump -window-hierarchy XML

转储的默认格式就是JSON为什么你应该XML在命令行中指定如果这是你想要的。


推荐阅读