咱们在调试Android应用程序的时候,有时候遇到一些莫名其妙的问题,所以咱们须要查看Android内部是如何调用的。咱们都知道Android是一个伟大的开源项目,所以debug的时候确定是支持源代码级别调试的。采用源代码调试,一方面有利于发现问题,另外一方面有利于咱们对Android系统的整个流程有一个比较清晰的认识,对咱们之后开发app或者修改rom都是大有帮助的。好了废话不说,下面就介绍一下如何在eclipse中进行源代码调试吧!
html
显然要进行源代码调试,首先必须下载源代码。你们能够都google的官方网站http://source.android.com/source/index.html 去下载,由于Android源代码是用git进行管理的,同时google为了管理方便,用python写了一个repo脚本进行项目管理,所以你必须确保你的电脑上安装了git和python,至于具体如何下载,你们能够参考android网站上的说明,之后我也会专门介绍如何下载和编译整个Android源代码。java
我下载的是Android4.2版本,整个源代码比较大,具体的目录结构以下:python
源代码下载完成后,须要导入到eclipse,这样查看起来比较方便。在命令行下,cd到development/ide/eclipse这个目录下,会发现这个目录下有一个.classpath隐藏文件android
将.classpath文件拷贝到你的Android源代码的根目录下c++
打开eclipse,新建一个Java工程,Location选择你Android的源代码所在的目录git
而后eclipse会加载Android的源代码,这个过程可能有点久,完成后点击finish,能够看到整个Android源代码都导入到eclipse中了,包括c,c++,java等全部的代码,这样查看起来就方便多了app
Android源代码导入eclipse后,接下来就要进行关联调试了。首先新建一个Android的HelloWorld的工程,先在模拟器上运行一下确保没有问题,而后右击HelloWorld工程,选择Debug As -> Debug Configurations,选择左侧的Remote Java Application,右击选择New,能够本身设置一个端口,如我设置的是9000,而后点击Applyeclipse
在HelloWord的MainActivity设置一个断点
ide
而后右击Debug As -> Android Application,进入Android调试器网站
你能够随便点击右边的ActivityThread中的一个方法,如performLaunchActivity,可是这个时候你会发现,提示源代码没有找到,你按照提示点击“Edit Source Lookup Path”,这时会弹出一个对话框,点击“Add”,选择Java Project,而后找到你以前的建的那个Java 源代码工程,这样就看到Android的源代码了,接下去的调试就和咱们日常的调试同样了,如F5进入方法,F6 执行下一行等等。
由于我以前在super.onCreate方法上面设置了一个断点,按F5进入这个方法的内部,查看到Activity.java中的代码以下:
好了,整个Android源代码的调试就搭建完成了,这样就能够调试本身的代码,还有分析整个Android运行的流程了,这对于rom开发仍是颇有帮助的。