Mac下uiautomatorviewer使用避坑

4,227 阅读2分钟

1. 工作环境要求

接下来讨论的工作环境是MAC环境,需要必备的安装软件有:

  • homebrew;
  • maven;
  • sdk;

2. 常见布局查看工具对比

进入正题,常用查看布局文件xml信息的工具有三个:

  • AS的内置工具layoutInspect;
  • Appium的Inspector;
  • SDK中的uiautomatorviewer; 三者各有利弊:

第一种只可以测试debug的app。

第二种只可以测试我们启动项配置的app。

第三种可以随时随地测试自己想要了解的任何app的当前页面的布局信息。

综上,SDK中的uiautomatorviewer也是值得我们去了解一下的。接下来了解一下如何使用。

3. 配置

配置过SDK的环境,直接在iterm中输入whick adb,得到sdk的路径,顺着路径找到uiautomatorviewer,按照命令打开了uiautomatorviewer的可执行脚本:

whick adb
/Users/zhangqi59/Library/Android/sdk/platform-tools/adb
cd /Users/zhangqi59/Library/Android/sdk
cd tools
cd bin
ls
apkanalyzer jobb screenshot2
archquery lint sdkmanager
avdmanager monkeyrunner uiautomatorviewer
sh uiautomatorviewer

接下来会弹出一个框:

b2ed5a4504f21113c13104858bfcc9b7.png

发现是无法执行的UA界面。这代表这个工具是不能使用,需要重新从网上下载一个可以执行的uiautomatorviewer,步骤如下:

  1. 解决过程
    第一步:克隆uiautomatorviewer-standalone代码,按照README打包编译。
    第二步:将jar包放到adb可执行脚本的同级目录下
    第三步:启动打包好的jar包,命令参考如下:
java -XstartOnFirstThread -jar ./uiautomatorviewer-standalone-1.0-SNAPSHOT-all.jar
  1. 可能遇到的问题解决
    安装maven:brew install maven
    检查maven安装成功否:mvn -version
    进入下载包的路径,进行maven打包:

    cd /Users/zhangqi59/Documents/uiautomatorviewer-standalone-main
    mvn clean package
    which adb
    cp uiautomatorviewer-standalone-1.1-all.jar /Users/zhangqi59/Library/Android/sdk/platform-tools
    cd /Users/zhangqi59/Library/Android/sdk/platform-tools
    ls
    java -XstartOnFirstThread -jar ./uiautomatorviewer-standalone-1.1-all.jar
    

    copy打包后的jar包到adb的同级目录中,这儿强调一下,一定要在adb的目录下
    在adb的目录下 通过输入对应命令执行jar包任务,jar包uiautomatorviewer-standalone-1.1-all.jar原在target目录下,后来通过我们的cp命令移动到了adb的同级目录了
    以后使用,我们就先cd到adb目录,然后输入:
    java -XstartOnFirstThread -jar ./uiautomatorviewer-standalone-1.1-all.jar

  2. 结果
    连接手机,开启开发者模式,点击调试按钮,结果如下:

image.png

所以对应控件的id就是R.id.kn了。