android - 如何转储前台 Android 活动的 XML 布局(没有 uiautomator)?
问题描述
我一直在使用adb shell uiautomator dump
,这在我的 Pixel 2 设备上的某些应用程序中有时会起作用。当它决定不工作时,我收到以下错误消息:
错误:无法获得空闲状态。
我在网上读到这可能是由于 UI 在执行转储时没有保持静止,但即使在让应用程序空闲几分钟后,我仍然看到该错误。甚至尝试重新启动并重新启动设备。有没有更可靠的解决方案,最好是本地解决方案?
解决方案
您可以尝试CulebraTester2。它不使用uiautomator
,因此您可能不会受到其限制的影响,这需要一些空闲时间才能获得转储,并且当动画不断更新时不会发生这种情况。
Github Actions上提供了预构建的 APK (请参阅工件)。
- 安装两个 APK
- 启动服务器:./culebratester2 start-server
- 转储层次结构: ./dump -window-hierarchy XML
转储的默认格式就是JSON
为什么你应该XML
在命令行中指定如果这是你想要的。
推荐阅读
- android - 如何使用授权标头从 url 获取位图?
- sql - 提高 SQL 查询的性能
- qt - 在运行时添加带有图像的 QLabel 时忽略图像缩放
- java - 为什么 HttpServletRequest 中的 RequestBody 是 InputStream?
- corda - corda 手动生成节点信息 (--just-generate-node-info) 强制主机查找
- django-rest-framework - Django REST Framework - 使用自定义 PUT 方法扩展 ListAPIView
- android - Android硬件后退按钮在反应导航时退出应用程序
- java - 找出向量列表中有多少唯一值 - Java
- java - primefaces 对话框关闭使输入在主页上被禁用
- javascript - javascript未定义错误-从表单中获取值