为什么又重新开一个 UIautomatorvViewer 的项目?
方式 1.直接下载根目录下的 uiautomatorviewer.jar,替换你本地的 ${ANDROID_HOME}/tools/lib 下的 uiautomatorviewer.jar 即可
方式 2.执行 gradle jar 命令 (或 gradlew jar),编译工程,将 build 目录下编译出来的 uiautomatorviewer.jar 替换你本地的 ${ANDROID_HOME}/tools/lib 下的 uiautomatorviewer.jar 即可
adb 截图使用的是LvmamaXmlKit,所以使用此功能需要把这个 #jar 导入到手机中 #,命令如下:
//复制LvmamaXmlKit.jar到本地D盘根目录下
adb push D:\LvmamaXmlKit.jar /data/local/tmp/
adb 截图和 dump
Checking device = 0
Creating temporary files = 5
Dump ui and ui xml = 2341
pull ui and ui xml = 357
parsing UI hierarchy XML = 5
parse device screenshot = 32
原始截图和 dump
Checking device = 0
Creating temporary files = 9
================================
Deleting old UI XML snapshot = 71
Taking UI XML snapshot = 2596
Pull UI XML snapshot from device = 81
================================
parsing UI hierarchy XML = 3
taking device screenshot = 965
parse device screenshot = 567
在做 UI 自动化时必不可少需要使用到 uiautomatorviewer 这个工具,但是有时候我们进行元素定位的时候希望使用 xpath 定位,而这个 工具自身并没提供,为了方便自动生成 xpath。在网上找到的方法感觉不是很完整,于是打算自己亲自对该工具进行二次开发。
jar
可以右键以zip
形式打开uiautomatorviewer.jar
在 META-INF\MANIFEST.MF
找到,如下:
Manifest-Version: 1.0
Class-Path: org-eclipse-jface-3.6.2.jar ddmlib.jar org-eclipse-core-c
ommands-3.6.0.jar org-eclipse-equinox-common-3.6.0.jar osgi-4.0.0.jar
common.jar kxml2-2.3.0.jar annotations.jar guava-18.0.jar
Main-Class: com.android.uiautomator.UiAutomatorViewer
这些 jar 可以到你本地的 ${ANDROID_HOME}/tools/lib 中找到希望添加的功能列表: