使用Eclipse能方便的对​​Android​​源码进行编辑和管理以及进行必要的调试,但不推荐用Eclipse来对源码编译,编译的话还是使用终端。以下是详细的步骤:

将Eclipse工程配置文件复制到Android源码根目录
​​​Android​​源码中为我们提供了Eclipse配置文件(development/ide/eclipse/.classpath),将其复制到源码根目录即可。



修改Eclipse程序的配置


Eclipse程序配置有3个方面需要修改,如下所示:

把eclipse.ini文件(在eclipse的安装目录)的3个值改为(注意备份该文件):

-XX:MaxPermSize=256m

-Xms128m

-Xmx512m

如下:

将android源代码导入eclipse中调试_eclipse

把​​Android​​​-formatting.xml 和 android.importorder文件导入到Eclipse中
​​​Android​​​-formatting.xml、.claseepath 和 android.importorder文件被存放在android目录的development/ide/eclipse/下,android-formatting.xml用来配置eclipse编辑器的代码风格,android.importorder用来配置eclipse的导入顺序和结构。
先导入​​​Android​​-formatting.xml,依次在eclipse中选择“Windows->preferences->Java->Code Style->Formatter”,如下图:


将android源代码导入eclipse中调试_Android_02

然后导入 ​​Android​​.importorder文件,依次在Eclipse中选择"Windows->preferences->Java->Code Style->Organize Imports"如图:


将android源代码导入eclipse中调试_eclipse_03

导入之后按ok保存即可。推荐安装一个eclipse插件anyedit,方便编辑Java和C以及其他代码。详细参考官网:​​http://andrei.gmxhome.de/anyedit/​​。



Android源码导入到Eclipse中

导入过程可能会破坏​​Android​​源码,建议导入前对Android源码进析备份,以防万一。导入源码的操作很简单,但是导入前先检查.classpath文件里的目录在Android源码中是否存在,如果有不存在的目录则把.classpath中多余的路径删除即可。本人的代码是4.0.4,发现不存在的目录路径为:



    #<classpathentry kind="lib" path="out/target/common/obj/JAVA_LIBRARIES/google-common_intermediates/javalib.jar"/>


    #<classpathentry kind="lib" path="out/target/common/obj/JAVA_LIBRARIES/gsf-client_intermediates/javalib.jar"/>


将其删除,然后开始导入。


新建Java Project(不是Android Project,否则会破坏Android源码),在workspace中复制.project文件到源码目录下;然后删除这个工程;接着import,在Browse中选择Android源码根目录,之后单击Next按钮,开始导入,之后单击“Finish”按钮,完成导入。


    下断点准备工作。打开DDMS,选中某一个App进程。比如MMS,com.android.mms。然后打开Java,在Run->Debug configurations...配置Remote Java Application。注意调试端口Port设为8700。设置好后会弹出提示,选Proceed。这时再进入DDMS,就可以看到com.android.mms进程前有个臭虫图标了。

将android源代码导入eclipse中调试_android_04

将android源代码导入eclipse中调试_android_05

   

将android源代码导入eclipse中调试_Android_06

将android源代码导入eclipse中调试_Android_07

    下断点。以Messaging中Compose new message为例,在ComposeMessageActivity.java的onCreate中下断点。然后点击Debug,这时在手机中打开MMS,点击Compose new message,即进入断点。如图7所示。真机调试OK。

将android源代码导入eclipse中调试_Android_08