您的位置:首页 > 编程语言 > Java开发

导入android 源码到eclipse

2012-09-11 11:23 337 查看
说明: 本文档导入android源码是在指在android源码编译环境下进行,不同于android+adt 的环境下的android项目的导入。

1.复制 源码目录/development/ide/eclipse目录下的工程配置文件到android 源码根目录下
cd android
cp development/ide/eclipse/.classpath ./
chmod u+w .classpath


2. 源码量较大需增大eclipse内存、缓存设置,找到eclipse安装目录下的eclipse.ini 修改内存配置
  -Xms128m
  -Xmx512m
  -XX:MaxPermSize=256m


3. 导入android源码

选择File→New→Java Project

选择Create project from existing source . 选择 android 源码根目录(eclipse较高版本上没有这一项,将“Use default location”的勾去掉,选择location即可)

点击 Finish 按钮 (源码量较大初始化需等待一会儿)

4. 问题补充
在ubuntu 10.10下的eclipse导入android 2.2源码,遇到新问题:
缺少out/target/common/obj/JAVA_LIBRARIES/google-common_intermediates/javalib.jar
和out/target/common/obj/JAVA_LIBRARIES/gsf-client_intermediates/javalib.jar

解决方法如下:

gedit .classpath

删除下面两行
<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"/>
添加 <classpathentry kind="lib" path="out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/javalib.jar"/>


问题2

再执行上面(3. 导入android源码)后,发现packages/providers/CalendarProvider/src和packages/providers/ContactsProvider/src还有错误

解决办法1

展开packages/providers/CalendarProvider/src
展开包: com.android.providers.calendar
右键点击包com.android.providers.calendar
选择 "new file"
在对话框中选择点击  "Advanced >>" 按钮, 可以看到"Link to file in the file system" checkbox
勾选上 checkbox.  这时 "Browse..." 可用 ---> 点击 "Browse..." 按钮,选择EventLogTags.java
(e.g.,out/target/common/obj/APPS/CalendarProvider_intermediates/src/src/com/android/providers/calendar/EventLogTags.java)
点击 Finish (in "New File")
同样的方式修改com.android.providers.contacts的问题即可

解决办法2

修改.project 文件 将其中的link标签中的location标签内的地址修改为自己的地址就可以了 <?xml version=“1.0” encoding=“UTF-8”?> <projectDescription>
<name>android</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
<linkedResources>
<link>
<name>packages/providers/CalendarProvider/src/com/android/providers/calendar/EventLogTags.java</name>
<type>1</type>
<location>/home/lijunjie/android/out/target/common/obj/APPS/CalendarProvider_intermediates/src/src/com/android/providers/calendar/EventLogTags.java</location>
</link>
<link>
<name>packages/providers/ContactsProvider/src/com/android/providers/contacts/EventLogTags.java</name>
<type>1</type>
<location>/home/lijunjie/android/out/target/common/obj/APPS/ContactsProvider_intermediates/src/src/com/android/providers/contacts/EventLogTags.java</location>
</link>
</linkedResources>
</projectDescription>

问题3 Cannot find the class file for java.lang.Enum

需要给工程添加jdk
问题4 工程中很多类文件用到类无法导入
添加相应的jar包,一般都在/out/target/common下
问题5 缺少FragementCompatICS文件解决方法和问题2的解决方法一一样
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: