美文网首页爬不动的毛毛虫IT@程序员猿媛
Uiautomatorviewer 获取安卓屏幕布局信息报错 -

Uiautomatorviewer 获取安卓屏幕布局信息报错 -

作者: 一只小菠菜 | 来源:发表于2019-05-11 20:52 被阅读0次

环境:Java version - 1.8.0_211,

错误截图

错误原因

  使用 uiautomator 的 uiautomatorviewer 组件获取安卓手机(或安卓模拟器)屏幕布局信息时产生的报错。从截图中看到的出错原因是:解析XML 文件时出现的错误。再来看看命令行报错截图:

  可以看到,大致的报错原因是:当 uiautomatorviewer 执行 dump 命令生成 xml 格式的布局信息文件时,产生文件加载异常而导致文件提前结束。至于为什么会出现这样的错误,就不清楚了(非安卓党)

解决方案

  解决思路:获取当前窗口布局信息,将布局信息pull到PC中指定的位置,再使用 uiautomatorviewer 获取 pull 到本地的布局信息,再获取相应的元素节点信息。

  编写 ui.bat 脚本:

@echo on
adb shell uiautomator dump /sdcard/app.uix
adb pull /sdcard/app.uix D:\Uiautomator\app.uix
adb shell screencap -p /sdcard/app.png
adb pull /sdcard/app.png D:\Uiautomator\app.png

  脚本解释:

- 创建当前安卓界面 UI 层次结构(布局信息),以 XML 格式存储到 app.iux
- 将app.iux pull 到当前 PC 的 D 盘指定路径下 ( 可自定义)
- 使用adb screencap 获取安卓屏幕截图
- 将截图 pull 到 PC 的 D 盘指定路径下 

  如此,当直接使用 uiautomatorviewer 获取安卓界面布局信息报错的时候,可使用 ui.bat 脚本 和 uiautomatorviewer 结合方式完成获取到相应元素节点的信息。运行如下:

说在最后

  咱是非安卓党,解决方案可能略显粗糙,但是也能解决眼前的问题。


  希望我的文章对你有帮助。

参考

相关文章

网友评论

    本文标题:Uiautomatorviewer 获取安卓屏幕布局信息报错 -

    本文链接:https://www.haomeiwen.com/subject/ogtfaqtx.html