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
接下来会弹出一个框:
发现是无法执行的UA界面。这代表这个工具是不能使用,需要重新从网上下载一个可以执行的uiautomatorviewer,步骤如下:
- 解决过程
第一步:克隆uiautomatorviewer-standalone代码,按照README打包编译。
第二步:将jar包放到adb可执行脚本的同级目录下
第三步:启动打包好的jar包,命令参考如下:
java -XstartOnFirstThread -jar ./uiautomatorviewer-standalone-1.0-SNAPSHOT-all.jar
-
可能遇到的问题解决
安装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.jarcopy打包后的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 -
结果
连接手机,开启开发者模式,点击调试按钮,结果如下:
所以对应控件的id就是R.id.kn了。