美文网首页爬不动的毛毛虫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