问题:工作中遇到一个紧急事务,需要分析电子书语音朗读功能处理问题。需要快速定位到按钮功能的代码区域。
怎么快读找到这个按钮对应的布局文件在哪?按钮的名字是什么?
解决思路:
1、项目全文查找,按钮的Text或者功能注释“朗读”文案;
2、分析出视图结构,如果能够抓取到按钮的名字,所在的布局问题,通过ID可以快速定位出来代码区域。
采用uiautomatorviewer分析界面。
使用方法:
1)安装uiautomatorviewer
如果用户已经安装Android Studio。在Android SDK的工具箱中可以找到uiautomatorviewer。
sdk/tools/uiautomatorviewer
配置环境变量
export ANDROID_NDK=/home/dell/IDES/Android/sdk/ndk-bundle
export ANDROID_HOME=/home/dell/IDES/Android/sdk
export JAVA_HOME=/home/dell/IDES/jdk1.8.0_161
export FIDDLER_HOME=/home/dell/IDES/fiddler-linux
export GRADLE_HOME=/home/dell/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3
export NODE_HOME=/usr/local/node/10.13.0
PATH=$JAVA_HOME/bin:$ANDROID_HOME:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools:$ANDROID_NDK:$FIDDLER_HOME:$GRADLE_HOME/bin:$NODE_HOME/bin:$PATH
2)启动uiautomatorviewer
打开命令窗,启动uiautomatorviewer。
dell@dell-pc:~$ uiautomatorviewer &
[1] 15690
3)手机连接电脑,保持adb 连接可用状态。
得到页面分析结果
得到按钮的资源ID:sound_play