导入android 源码到eclipse

说明: 本文档导入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的解决方法一一样
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值