首页
社区
课程
招聘
[原创]论如何在2026年使用uiautomatorviewer.bat
发表于: 2026-6-23 22:15 2262

[原创]论如何在2026年使用uiautomatorviewer.bat

2026-6-23 22:15
2262

最近用到了uiautomatorviewer.bat这个工具,但是出现了很多报错,这里仅作一些记录,供读者参考,本人小白一枚,如有错误,还请指正。

uiautomatorviewer.bat 是 Android SDK 官方提供的一个 UI 分析工具脚本,主要用于辅助 Android 自动化测试和 UI 分析。可以通过它直观地查看 Android 设备或模拟器当前屏幕的 UI 布局结构,以及各个控件的详细属性(如 resource-id、text、class、bounds 坐标等),这些信息是编写 UI 自动化脚本时定位控件的关键依据

该工具随 Android 4.1(API 16)一同发布,与 uiautomator 测试框架配套使用uiautomator 是 Google 提供的 UI 自动化测试 Java 库,而 uiautomatorviewer 则是其配套的图形化界面分析工具。两者共同构成了 Android 原生 UI 自动化测试的基础工具链。

从文件类型来看,uiautomatorviewer.bat 是一个 Windows 批处理脚本,位于 Android SDK 的 tools/bin/ 目录下(旧版本位于 tools/ 目录)。双击该脚本即可启动 uiautomatorviewer 图形界面程序。

uiautomatorviewer.bat工具栏主要包含四个按钮(从左向右数):


Open Files:打开已保存的 .uix 布局文件和截图。


Device Screenshot:连接设备并获取当前屏幕的界面布局(最常用)。


Compressed Hierarchy:获取简化版的界面布局,会过滤掉一些纯装饰性的布局节点。


Save:保存当前捕获的界面信息,会生成一个截图文件和一个 .uix (XML布局结构)文件。

随着 Android 系统版本的不断升级,uiautomatorviewer 的兼容性问题日益突出。该工具对 Android 8.0 及以上版本的系统直接截屏支持不佳。在 Android 10+ 设备上,直接截图成功率已大幅下降。随着 Android 14/15 的持续安全增强,Google 已逐步废弃 UiAutomatorViewer,已经无法再通过传统方式抓取 UI 层级

如下图就是最典型的错误——正在使用的 uiautomatorviewer 版本太旧,无法兼容手机/模拟器的高版本 Android 系统。

解决方法是使用下面的命令导出手机/模拟器当前屏幕的uix文件和png截图。为什么导出是uix文件不是xml文件,这是因为 uiautomatorviewer.bat 这个老古董工具默认只认 .uix 后缀的文件。

adb shell uiautomator dump /data/local/tmp/ui.uix
adb pull /data/local/tmp/ui.uix 导出路径

adb shell screencap /data/local/tmp/sc.png
adb pull /data/local/tmp/sc.png 导出路径

点击工具栏的第一个按钮Open Files,导入刚刚导出的uix文件和png截图。问题又来了,如下图,原本在“UI XML Dump”这一行右边应该有一个 “Browse...” 按钮(用来选择文件),但因为这个工具太老旧,没有适配 Windows 缩放比例(比如 125%/150% 显示),导致按钮被直接挤出了窗口边缘。

解决方法是在弹窗界面,连续按三次键盘上的 Tab 键(切换焦点),直接按键盘上的 空格键(Space) 或 回车键(Enter),UI XML Dump的文件选择窗口就会弹出来。

这里还有个点要注意,模拟器不要选择平板模式而是手机模式,原因在于平板模式导出的uix文件处于 “横屏”或“倒置”旋转状态(rotation=3),而 uiautomatorviewer.bat 这个老古董工具在解析非竖屏(rotation=0)的布局时,内部渲染引擎会直接“罢工”,导致它无法解析出任何子控件。在导出的uix文件中可以查看。

<hierarchy rotation="3">

    如下图是成功导入uix和png文件,软件正常运行的截图。


但其实使用这个破图形化软件太费劲了,根本不需要依赖破图形界面,用记事本或 Notepad++ 直接打开导出uix文件,按 Ctrl + F 搜索想要的文件中的关键词,所有信息秒拿。

仅是学习过程中遇到的一些感觉有趣的事情,分享给大家,大家图一乐就行。


[招生]科锐逆向工程师培训(2026年7月3日实地,远程教学同时开班, 第56期)!

最后于 2026-6-24 08:19 被ODcat编辑 ,原因:
收藏
免费 0
打赏
分享
最新回复 (6)
雪    币: 739
活跃值: (890)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
其实感觉直接dump出xml丢给ai就好了,当然如果你确实有需要分析ui的需求的话那也可以,不过感觉没必要死磕这个工具,没记错的话有更好的
2026-6-24 17:59
0
雪    币: 235
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
x1a0f3n9 其实感觉直接dump出xml丢给ai就好了,当然如果你确实有需要分析ui的需求的话那也可以,不过感觉没必要死磕这个工具,没记错的话有更好的
是的是的,偶然用到了这个,没事就研究了一下,哈哈哈,感谢评论
2026-6-25 14:43
0
雪    币: 1551
活跃值: (5318)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
4
666
2026-7-2 08:11
0
雪    币: 2874
活跃值: (5707)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
x1a0f3n9 其实感觉直接dump出xml丢给ai就好了,当然如果你确实有需要分析ui的需求的话那也可以,不过感觉没必要死磕这个工具,没记错的话有更好的
用 c32K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6G2M7r3g2F1j5i4c8^5i4K6u0r3N6h3W2S2N6i4c8G2L8h3q4@1L8%4t1J5i4K6t1$3L8X3u0K6M7q4)9K6b7W2!0q4y4g2!0n7x3q4!0n7x3g2!0q4z5q4!0m8x3g2)9^5b7#2)9J5y4X3&6T1M7%4m8Q4x3@1u0Q4c8e0k6Q4b7U0u0Q4b7e0q4Q4c8e0g2Q4b7V1k6Q4z5o6g2Q4c8e0S2Q4b7e0k6Q4z5o6q4Q4c8e0N6Q4z5e0c8Q4b7e0S2Q4c8e0W2Q4z5o6u0Q4b7e0y4Q4c8e0c8Q4b7U0S2Q4b7f1q4Q4c8e0S2Q4b7V1k6Q4z5o6N6Q4c8e0k6Q4z5e0N6Q4b7U0k6Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0c8Q4b7U0S2Q4z5f1y4Q4c8e0S2Q4b7e0g2Q4b7V1j5`.
2026-7-9 18:02
0
雪    币: 2874
活跃值: (5707)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
x1a0f3n9 其实感觉直接dump出xml丢给ai就好了,当然如果你确实有需要分析ui的需求的话那也可以,不过感觉没必要死磕这个工具,没记错的话有更好的
pip install uiautodev

# After starting from the command line, it will automatically open the browser
uiautodev
# or: python -m uiautodev
2026-7-9 18:03
0
雪    币: 235
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
小黄鸭爱学习 35bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6G2M7r3g2F1j5i4c8^5i4K6u0r3N6h3W2S2N6i4c8G2L8h3q4@1L8%4t1J5 就行 没必要用那个过时的东西
收到,感谢恢复。
2026-7-10 11:20
0
游客
登录 | 注册 方可回帖
返回