利用android的Debug调试分析源码
Debug是一个非常方便调试代码的方式,android开发也不例外。当然最完美的方法是直接下载android的源代码自己make出jar包来跑,无论是烧进机器还是使用虚拟机都很灵活。但是make源码还是比较麻烦的。所以如果没有需要修改源码的需求的话,这里可以使用一种简单的方法。
我们经常使用debug来调试普通的工程代码。由于android的开源,对于一些Api或者某些功能的实现,我们都可以通过看源码来更深入的了解,近而更好的使用它们。但是有些时候单纯的读源码却很麻烦,尤其是涉及到动态数据的时候,有些参数比较复杂难以追溯其根源,而我们又想拿到他在运行时的状态,debug则是最好的选择。
想要debug源码,首先你要拥有一份源码并加载进你的eclipse(这里我使用eclipse开发,至于其他开发软件也类似),然后启动相对应版本(SDK版本)的虚拟机。注意,这里最好使用虚拟机,因为虚拟机上的SDK是与你的Android源码完全对应的,而至于真机,则可能再出厂时,被开发商阉割修改系统,导致代码改变,debug无法对应正确的代码位置。这里你就可以打开相应的类进行打断点的操作。在debug UI相关的类时(View的子类等),这里面由于Android UI View相当多,一个方法会被多次调用(如View的measure和layout等等),这时你可以给每个VIew加上ID,然后在表达式窗口打印它们,来进行区分。十分方便。
Debug是开发的利器,学会使用会大大提高调试的速度。