一、版本说明:
1. eclipse for javaEE 3.5.2
2. jdk1.6
3. adt12.0
4. linux/Ubuntu10.04 或者 linux/ubuntu10.10
二、准备工作:
1. 下载 Android2.3.7 源码
欲了解具体内容可以参看 android 官网。
2. 编译源码
必须编译源码,否则会引发很多问题。记住:如果下载没问题的话,编译只是时间的问题。
如果,你的机器性能比较好,一个小时左右编译就会完毕,等待编译吧,漫长!
注意:编译成功之后,out 目录是其结晶。
三、配置文件
这里假设下载的 android 源码(根目录)位于:
/home/mark/android_src
然后,cd 到这个目录:cd /android_src/development/ide/eclipse
执行下面的命令,查看文件:ls -al
你可以发现,有三个文件(包括隐藏文件.classpath)android-formatting.xml android.importorder .classpath
接下来,复制 .classpath 到源码根目录。
cd /home/mark/android_src/development/ide/eclipse cp .classpath /home/mark/android_src/
如果你不喜欢命令行,可以图形界面操作,在 linux 下.××××× 文件是隐藏的文件。你可以在 ubuntu 的资源管理器中选择 view/show Hidden files,这样隐藏的文件就会浮出水面,你就可以 ctrl c、ctrl v了(CV 战士)。ok, 打开你的 eclipse 吧,两步走策略。
1. 在 window->preferences->java->Code style->Formatter 中导入 android-formatting.xml
2. 在 window->preferences->java->Code style->Organize Imports 中导入 android.importorder
四、修改 .classpath
打开这个文件,你可以看到密密麻麻的一堆,但是如果你分类来看就很清晰,无非就是一些路径的指定。
网上很多哥们都说,如果不修改这个 classpath 的话,会破坏源码(当然你只是看看源码的话,修改不修改那都无所谓),所以做源码开发的话,还是适当的修改一下吧,毕竟,10 分钟的事情。
那么,如何修改尼?需要你明亮的双眼和足够的耐心,呵呵!
1. 删除.classpath 中 android 源码中根本不存在的路径
如果不存在的话,就删吧,对,删除 <classpathentry ××××/> 整个标签。
在文件的末尾你会看到类似 <classpathentry kind="lib" ××××/> 标签,注意,这里面有需要删除的,看清楚了。
2. 适当的添加
如果你是修改应用层开发,肯定希望 packages/apps/ 下面的代码都有,但是classpath中有些就是没有,那么你就手动添加吧。
这里以添加 Gallery3D 为例。
<classpathentry kind="src" path="packages/apps/Gallery3D/src"/>
这里需要说明:添加了 Gallery3D 就不要再添加 Gallery 了(类重复),或者只添加Gallery,不添加 Gallery3D,否则报错。如果在你的 classpath 中没有:
<classpathentry kind="lib" path="out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/javalib.jar"/>
你就手动添加吧!五、修改 eclipse 配置文件
在 eclipse 根目录有个配置文件:eclipse.ini,找到并打开它。
-XX:MaxPermSize=256m -Xms128m -Xmx512m
希望在你的配置文件中,有和上面三个一样的配置,如果没有或者不一致,请自行添加或者修改。六、导入源码
1. 在 eclipse 中新建 java 工程,不是 android 工程。
2. 选择 create project from existing source,指定到 /home/mark/android_src 即可。
3. 等待导入,让时间去证明一切,这个时候你可以休息一会了。伸个懒腰吧,呵呵!
如果,你导入 eclipse 还有错误,那么可能是你没有按照上面耐心的完成,再或者就是.classpath 修改有误。