RT:Error obtaining UI hierarchy Error taking device screenshot: EOF/NULL 解决办法
关于monitor开发神器我就不多说了,但是假如我们在开发中遇到如上问题该怎么处理呢?别慌下面会有方法,不过不是对任何机型都有效,但有效的小伙伴可以帮忙点个赞或者扫码支持一下
如果你能使用monitor就说明你肯定具有开发者模式可以连接设备进行调试,但如果源码中关闭了screen cap功能就没辙,想知道有没有截图功能,可以在studio中如下图点击小相机icon,能截图就说明功能是没有被屏蔽的
这时我们可以用 Linux serial port 或者 Android adb 驱动进行命令截图和拉取.uix文件,这个文件有什么用呢?它可以手动在 monitor 插件中 open 然后把截图加载到 monitor 中,插件会把当前截图的 layout xml 给解析出来,非常厉害和实用
手动执行 Linux serial port 命令或者执行 Android adb 命令
注意:pull命令输出的路径可以自己指定,如果不指定会默认保存到 C:\用户名(Users)\计算机名称(如:Bob) 目录下,比如:
指定输出目录
①adb shell uiautomator dump /data/local/tmp/uidump.uix
②adb pull /data/local/tmp/uidump.uix D:\MyWork\ScreenCap
③adb shell screencap -p /data/local/tmp/tmp.png
④adb pull /data/local/tmp/tmp.png D:\MyWork\ScreenCap
效果
不指定输出目录
①adb shell uiautomator dump /data/local/tmp/uidump.uix
②adb pull /data/local/tmp/uidump.uix
③adb shell screencap -p /data/local/tmp/tmp.png
④adb pull /data/local/tmp/tmp.png
效果
介绍完了手动抓取文件的操作,接下来介绍如何使用抓取到的.UIX和截图
.UIX和截图的使用
①首先打开 monitor 插件,然后点击左上角的 File 再点击 Open File
②弹出文件选择窗口,这时候我们只需要把之前 pull 的 .uix 文件选中再点击右下角打开就行了
③接着会出现如下窗口,点击 “Specify Screenshot…”
④点击 “Specify Screenshot…”之后会弹出如下窗口,选择我们之前 pull 保存的截图再点击打开
⑤打开之后会出现如下界面
创作不易请对我的文章多多支持!点点赞或者扫描支持一下,让作者更有动力进行创作!