当维护大型代码或者时间过长,下次需要改动相应代码时可能需要一些时间定位到相应的代码.
我们当然可以根据作用以及印象猜测大概代码位置,然后一步一步跟过去或者这个界面有明显的特征时比如文字可以全局搜索这个特征.
下面我们使用UI Automator定位控件id,然后根据该控件id定位到具体的代码位置.
1.需要手机的系统api level 18以上
2.使用DDMS中Dump View Hierarchy for UI Automator,如果幸运的话选中想要查看的对象机会看到对应的resource-id.
但是目前还存在一些bug你可能看到这个异常
Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn't exist!
3.查看Eclipse控制台中的信息发现一条这样的信息
/system/bin/uiautomator dump /data/local/tmp/uidump.xml
看样子这条命令会dump一个文件
4.我们也在命令行中执行以下命令
adb shell /system/bin/uiautomator dump /sdcard/uidump.uix
adb pull /sdcard/uidump.uix D:\
5.使用DDMS 中的Screen Capture截张图保存下来
6.使用uiautomatorviewer.bat打开这个导出的文件
然后打开对应的图片和.uix文件