对于Android开发的学习者来说,当学习和开发实践进行到了一定的阶段,就应该深入到Android系统的源代码中去了。

通过对源代码的研究、学习,可以熟悉Android发布的基本应用模块如Launcher、Contact、Email等的实现原理和开发方式,还可以深入到framework框架层、核心库层、Linux Kernel层等底层模块。

那么,怎么才能获取到Android的源代码呢?

Android官方网站http://source.android.com/source/downloading.html对源代码的下载有详细的介绍,大家可以按照网站上介绍的方法一步步操作就可以了。

本文向大家介绍的是如何只对个别目录进行下载的方法,因为一方面由于网速的原因,很多时候完整下载所有的代码是办不到的,另一方面,我们可能只关心个别目录的源代码而已。

需要指出的是,Andrid的的源代码需要在Linux环境下下载的,在Windows环境下下载源代码的话大家可以安装Cygwin工具(PS:用Cygwin还可以在Windows下开发Android NDK 应用),配置好后下载方法是一样的。

好了,单个目录源码下载的具体步骤是:

第一步,按照官方网站的方法配置好git 和repo及相关的环境变量。

第二步,用 git clone方法对感兴趣的目录分别下载。

对于第二步,我们可以参考下面的例子。

源代码所在的地址是:http://android.git.kernel.org/

如果我们要对所有的Android源代码进行下载,下载命令是:

repo init -u git://android.git.kernel.org/platform/manifest.git

repo sync

当然,如果我们只想下载Android 2.3 gingerbread版的完整源代码,加上分支选项:

repo init -u git://android.git.kernel.org/platform/manifest.git –b gingerbread

repo sync

好了,如果只想下载单个目录的代码,参见下面的例子:

仅下载Launcher:

git clone git://android.git.kernel.org/platform/packages/apps/Launcher2.git

仅下载 Android 2.2 froyo版的Launcher:

git clone git://android.git.kernel.org/platform/packages/apps/Launcher2.git –b froyo

分别下载Android 2.2 froyo版的framework的各个目录:

git clone git://android.git.kernel.org/platform/frameworks/base.git -b froyo

git clone http://android.git.kernel.org/platform/frameworks/base.git -b froyo

git clone http://android.git.kernel.org/platform/frameworks/policies/base.git -b froyo

git clone http://android.git.kernel.org/platform/frameworks/ex.git -b froyo

git clone http://android.git.kernel.org/platform/frameworks/opt/com.google.android.git -b froyo

git clone http://android.git.kernel.org/platform/frameworks/opt/com.google.android.googlelogin.git -b froyo

git clone http://android.git.kernel.org/platform/frameworks/opt/emoji.git -b froyo
其他的例子就类推了,如果不清楚究竟哪些目录有git下载节点,可以直接通过浏览器访问http://android.git.kernel.org/网站了解Android源代码的分支结构:

对于如何完整下载Android源代码的更多细节,大家也可以参考下下面链接里的介绍:

http://www.cnblogs.com/chunhui588/archive/2010/07/04/using-git-repo-to-get-android-sourcecode.html

下面是其转帖:

使用Git和Repo获取Android源码

在某些情况下我们需要查看Android的源码或对其进行重新编译,目前只支持在Linux或者Mac OS上编译Android源码,暂不支持Windows.所以本篇介绍一下如何在Ubuntu上获取Android源码。

Android源码大约有2.1GB,在这里可以看到它的结构和更新记录。

下载Android源码需要用到Git和Repo。Git是一个开源的分布式版本控制软件,它非常适合管理很大的项目,项目文件可以分布储存在多个 Git repositories(仓库), 这样可以很方便地创建分支,进行版本比较等,所以Android也用它来进行源码管理。 Repo是基于Git的工具,它可以让我们更方便地管理Git repositories.

接下来我们要在Ubuntu上面安装这两个工具, 在安装之前要先安装一些必要的Linux Packages: JDK 5.0(Java 6不支持因为@Override的不兼容), lex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev (optional), build-essential, zip, curl.

在Ubuntu的Terminal运行以下命令: $ sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

这里需要注意的是sun-java5-jdk的源在Ubuntu9.10后就没有了, 所以安装sun-java5-jdk 要切换Sources.list才能安装,具体可以参考这篇Blog.(注:只是下载代码貌似不用JDK也没多大问题)

Git(上面的git-core)装完了,接下来装Repo, 在home目录创建bin目录,然后获取Repo并授于它执行的权限:

$ cd ~
$ mkdir bin
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo

接下来把bin目录加入$PATH:

$ export PATH=$HOME/bin:$PATH

再接着在home目录创建mydroid目录用来存放Android源码

$ mkdir mydroid
$ cd mydroid

最后下载Android源码:

$ repo init -u git://android.git.kernel.org/platform/manifest.git
$ repo sync

更多相关文章

  1. Android菜鸟的成长笔记(1)——Android开发环境搭建从入门到精通
  2. Android(安卓)开发遇到的坑
  3. 教你如何在 Android(安卓)使用多线程下载文件
  4. Ubuntu Linux下android源码下载方法
  5. Android(安卓)文件路径详解
  6. 在Android(安卓)9 中移植自己的app,用到automove 中Car service和
  7. Android中经常用到的方法--SDcard下文件的操作
  8. android在线更新的SDK的脚本,
  9. 搭建Android的开发环境

随机推荐

  1. 数据库界的 Swagger,一键自动生成 Java 实
  2. 为什么 String 类是不可变的?
  3. 我终于决定要放弃 Postman,选择了牛逼的神
  4. 使用后台进程和 Shutdown Hook 友好地关
  5. ConcurrentHashMap 和 HashTable 的区别
  6. 船新 IDEA 2020.3 插件大合集,个个都是精
  7. 恕我直言,我怀疑你没怎么用过枚举
  8. 昨天你用的 YYYY-MM-dd 被 CTO 捶了吗?
  9. 如何摆脱工具类
  10. Linux性能优化(七)——网络流量监控工具