uiautomatorviewer.bat各种报错的另类解决办法

本文介绍了一种绕过DDMS中dumpViewHierarchyforUIautomator工具频繁报错问题的方法,通过使用ADB命令手动抓取UI布局文件及截图,并利用uiautomatorviewer工具进行查看。

基于各种奇葩的原因,DDMS里的dump View Hierarchy for UI automator工具总是报出各种错

大致原因主要是几大类:

1、java.lang.NullPointException

2、 java.lang.reflect.InvocationTargetException

我本人本地的SDK也更新到了8.0了,还是会报上述错误,各种网上的神操作都无解,最后选择另辟蹊径。

不用DDMS了,自己用命令来抓uix布局文件和截图,

然后用 XXX盘:\Android\sdk\tools\bin\uiautomatorviewer.bat这个工具来加载。

 

命令如下:

adb shell uiautomator dump /sdcard/app.uix
adb pull /sdcard/app.uix F:/app.uix

adb shell screencap -p /sdcard/app.png
adb pull /sdcard/app.png F:/app.png

抓出来的以后最好确认下nix文件和截图文件的大小是否正常,开始我想偷懒直接写个bat命令去抓,但是发现抓出来的文件都

只有10KB,肯定不对。无耐还是命令来抓。

然后打开用 XXX盘:\Android\sdk\tools\bin\uiautomatorviewer.bat这个工具

 

打开后的界面如下,点击打开文件按钮

然后选择刚才抓出来的uix和截图文件

 

点击OK就一切搞定。比起DDMS一切都自动搞是要麻烦点,无耐工具有时候各种报错蹩脚。

希望能帮助到有同样困惑的同行,理论上靠命令除了麻烦点,无视各种奇葩问题,只要能跑adb.

提供的引用内容未涉及适用于 Mac M4 系统的 uiautomatorviewer.bat 使用方法或替代方案的信息。不过,uiautomatorviewer.bat 是 Windows 系统下用于查看 Android UI 元素的脚本,在 Mac 系统中通常不能直接使用。 在 Mac M4 系统上,替代 uiautomatorviewer.bat 的方案有以下几种: - **使用 Android Studio 的布局检查器**:Android Studio 自带了布局检查器工具,可用于查看和分析 Android 应用的 UI 布局。打开 Android Studio,连接 Android 设备或启动模拟器,然后通过“Tools” -> “Layout Inspector” 打开布局检查器。 - **使用 Appium Inspector**:Appium 是一个自动化测试框架,Appium Inspector 可用于查看 Android 应用的 UI 元素。安装 Appium 服务器和 Appium Inspector 客户端,配置好设备和应用信息后,即可使用 Appium Inspector 查看 UI 元素。 - **使用 UiAutomator2**:UiAutomator2 是 Android 官方提供的 UI 自动化测试框架,可用于编写 UI 自动化测试脚本。使用 UiAutomator2 编写简单的脚本来获取 UI 元素信息。 以下是一个使用 UiAutomator2 的 Python 示例代码: ```python from appium import webdriver desired_caps = { "platformName": "Android", "deviceName": "your_device_name", "appPackage": "com.example.app", "appActivity": "com.example.app.MainActivity" } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 获取元素信息 element = driver.find_element_by_id("com.example.app:id/element_id") print(element.text) driver.quit() ```
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值