在Android开发中时常会碰到需要定位到某个控件的资源ID的需求。比如有些bug中,某个控件显示的信息不对;某个控件显示的位置不对等等。 我们在看到一个界面时,需要找到这个控件的资源ID后再分析相关的代码。
之前有种方法就是按照字符串去搜索这个资源ID名,比如通话界 面中的"通话录音","添加通话","静音"等字符串,我们就可以通过这种方式来找到它们对应的资源ID。但是比如我拨打一个10086, 那"10086"这个字段就无法按照这种方式来搜索到了,因为这个是动态的信息,非固定字符串信息。
今天使用adb命令找到一个快速的方法,可以手机连接PC后通过adb shell uiautomator dump命令,将当前的界面信息保存到xml文件中。具体命令如下:
adb shell uiautomator dump /storage/emulated/0/Download/ui.xml
说明:这个命令中的/storage/emulated/0/Download/目录是手机中的目录,你可以选择其他的目录文件,ui.xml是我保存的xml文件,可以随便命名。
之后,手机生成ui.xml后,我们就可以将这个文件push到手机中了。命令如下: