热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

androidopensource:eclipse进行源码开发

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd

一、版本说明:

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 源码(根目录)位于:

  1. /home/mark/android_src  
然后,cd 到这个目录:
  1. cd /android_src/development/ide/eclipse  
执行下面的命令,查看文件:
  1. ls -al  
你可以发现,有三个文件(包括隐藏文件.classpath)
  1. android-formatting.xml  
  2. android.importorder  
  3. .classpath  

接下来,复制 .classpath 到源码根目录。

  1. cd /home/mark/android_src/development/ide/eclipse  
  2.   
  3. 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 源码中根本不存在的路径

如果不存在的话,就删吧,对,删除  整个标签。

在文件的末尾你会看到类似  标签,注意,这里面有需要删除的,看清楚了。

2.  适当的添加

如果你是修改应用层开发,肯定希望 packages/apps/ 下面的代码都有,但是classpath中有些就是没有,那么你就手动添加吧。

这里以添加 Gallery3D 为例。

  1. "src" path="packages/apps/Gallery3D/src"/>  
这里需要说明:添加了 Gallery3D 就不要再添加 Gallery 了(类重复),或者只添加Gallery,不添加 Gallery3D,否则报错。

如果在你的 classpath 中没有:

  1. "lib" path="out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/javalib.jar"/>  
你就手动添加吧!

五、修改 eclipse 配置文件

在 eclipse 根目录有个配置文件:eclipse.ini,找到并打开它。

  1. -XX:MaxPermSize=256m  
  2. -Xms128m  
  3. -Xmx512m  
希望在你的配置文件中,有和上面三个一样的配置,如果没有或者不一致,请自行添加或者修改。

六、导入源码

1. 在 eclipse 中新建 java 工程,不是 android 工程。

2. 选择 create project from existing source,指定到 /home/mark/android_src 即可。

3. 等待导入,让时间去证明一切,这个时候你可以休息一会了。伸个懒腰吧,呵呵!

如果,你导入 eclipse 还有错误,那么可能是你没有按照上面耐心的完成,再或者就是.classpath 修改有误。

说一句:如果你是在 windows 下面工作,可以使用共享功能,将 linux 下编译好的源码导入 windows 下面,然后在 windows 下使用 eclipse 开发。具体步骤类似上面,不再赘述。


推荐阅读
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • 项目运行环境配置及可行性分析
    本文介绍了项目运行环境配置的要求,包括Jdk1.8、Tomcat7.0、Mysql、HBuilderX等工具的使用。同时对项目的技术可行性、操作可行性、经济可行性、时间可行性和法律可行性进行了分析。通过对数据库的设计和功能模块的设计,确保系统的完整性和安全性。在系统登录、系统功能模块、管理员功能模块等方面进行了详细的介绍和展示。最后提供了JAVA毕设帮助、指导、源码分享和调试部署的服务。 ... [详细]
author-avatar
M7y4C8r2a6z4y
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有