解决Unexpected error while obtaining UI hierarchy java.lang.reflect.InvocationTargetException问题

uiautomatorviewer.jar & LvmamaXmlKit.jar下载地址
Jar包下载地址

安装教程

  1. 本工具和SDK自带瓶功效相同,只是在此基础二次开发无需任何安装(前提是您的Mac或者视窗系统中已经安装并且配置好了的Java环境)
  2. 的Windows环境,复制该罐子到您的SDK安装目录uiautomatorviewer.jar所在的目录下(请先备份你原来的罐子,一般目录在SDK的工具\ LIB下:\ Android的SDK-WINDOWS \工具\ LIB)
    • 备份方法特别说明:SDK目录下只有一个uiautomatorviewer.jar的,把该罐后缀改为的.zip,即改为uiautomatorviewer.jar ==> uiautomatorviewer.zip,下载一个我二次开发的罐子把下载的罐放到该目录下即可。
    • 有的同学SDK目录下有uiautomatorviewer.jar和uiautomatorviewer-26.0.0-dev.jar两个罐中。把两个罐后缀都改为的.zip即改为uiautomatorviewer.jar ==> uiautomatorviewer.zip,uiautomatorviewer-26.0 0.0-dev.zip,先下载一个我二次开发的罐子改为uiautomatorviewer-26.0.0-dev.jar,再下载一个我二次开发的广口瓶中。把两个罐放到该目录下即可。
    • 所谓的备份,说白了,就是替换原有的罐子的意思,大胆替换其实也是可以的,为了可以恢复为原来的罐起见,备份一下而已。
  3. Mac环境,复制该罐到任意目录即可,使用前请先确认appium inspector可以抓取元素,谢谢!
  4. 安卓自动化:
    • 复制LvmamaXmlKit.jar到本地D盘根目录下,打开命令行窗口执行命令:adb push D:\ LvmamaXmlKit.jar / data / local / tmp /
    • 打开手机文件管理,到/ data / local / tmp /目录下,检查确保LvmamaXmlKit.jar是否复制到手机中(如图1)
    • 模拟器中安装ADBKeyBoard.apk并设置设置默认输入法为ADBKeyBoard,并关闭硬件物理键盘(如图2)
    • 打开您的应用程序,点击uiautomatorviewer.bat开启生成代码之旅。
    • 特别提示,JDK最好用1.8的,1.7或者以下可能会有问题
    **LvmamaXmlKit.jar一定要推送到手机里,截图,截取XML要用到这个罐子,罐子这个不放到手机/数据/本地的/ tmp /里100%的异常,**请告别这个工具吧,谢谢!
    图1:LvmamaXmlKit.jar推送成功与否检查示例真机
    真机:命令行利用adb shell查看,不会的自行百度。
    解决Unexpected error while obtaining UI hierarchy java.lang.reflect.InvocationTargetException问题_第1张图片
    PS:红色1路径部分为:LvmamaXmlKit.jar包路径,红色2路径为手机路径

uiautomatorviewer用法:
解决Unexpected error while obtaining UI hierarchy java.lang.reflect.InvocationTargetException问题_第2张图片
安装完成后会发现比之前的多了xpath路径。

你可能感兴趣的:(解决Unexpected error while obtaining UI hierarchy java.lang.reflect.InvocationTargetException问题)