1、Git 工具
2、Repo 工具
3、Java 的 JDK
4、主机编译工具
从 这里 可以找到一段简单的下载源码的介绍。大致情况是,首先要在Linux或者MacO的系统下操作,其次要保证Git的版本在1.5.4之上,Python的版本在2.4之上。
Ubuntu环境 的快速搭建:
$ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
下载repo工具
curl Android.git.kernel.org/repo > repo
获取 Android 完全的源代码:
初始化代码仓库:
$ repo init -u git://android.git.kernel.org/platform/manifest.git
$ repo init -u git://android.git.kernel.org/platform/manifest.git
Getting repo ...
from git://android.git.kernel.org/tools/repo.git
Getting manifest ...
from git://android.git.kernel.org/platform/manifest.git
From git://android.git.kernel.org/platform/manifest
* [new branch] android-1.5 -> origin/android-1.5
* [new branch] android-1.5r2 -> origin/android-1.5r2
* [new branch] android-1.5r3 -> origin/android-1.5r3
* [new branch] android-1.6_r1 -> origin/android-1.6_r1
* [new branch] android-sdk-1.5-pre -> origin/android-sdk-1.5-pre
* [new branch] android-sdk-1.5_r1 -> origin/android-sdk-1.5_r1
* [new branch] android-sdk-1.5_r3 -> origin/android-sdk-1.5_r3
* [new branch] android-sdk-1.6_r1 -> origin/android-sdk-1.6_r1
* [new branch] cdma-import -> origin/cdma-import
* [new branch] cupcake -> origin/cupcake
* [new branch] cupcake-release -> origin/cupcake-release
* [new branch] donut -> origin/donut
* [new branch] master -> origin/master
* [new branch] release-1.0 -> origin/release-1.0
* [new tag] android-1.5 -> android-1.5
* [new tag] android-1.5r2 -> android-1.5r2
* [new tag] android-1.5r3 -> android-1.5r3
* [new tag] android-1.6_r1 -> android-1.6_r1
* [new tag] android-sdk-1.5-pre -> android-sdk-1.5-pre
* [new tag] android-sdk-1.5_r1 -> android-sdk-1.5_r1
* [new tag] android-sdk-1.5_r3 -> android-sdk-1.5_r3
* [new tag] android-sdk-1.6_r1 -> android-sdk-1.6_r1
From git://android.git.kernel.org/platform/manifest
* [new tag] android-1.0 -> android-1.0
获取代码:
$ repo sync
初始化指定的版本:
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b release-1.0
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b android-sdk-1.5_r2
同步单个工程代码:
$ repo sync {project_name}
获取一个工程的代码:
$ git clone git://android.git.kernel.org/ + project path
例如,获取通用内核的代码:
$ git clone git://android.git.kernel.org/kernel/common.git
repo init 之后,将生成隐藏目录 .repo ,其中文件 .repo/manifest.xml 为 repo 工程的描述文件,表示 repo 时包含的各个工程,其片段如下所示:
<project path="dalvik" />
<project path="development" />
<project path="frameworks/base" />
repo/manifest.xml 中的 path 表示工程获取后的路径(基于当前目录), name 表示工程的名称。