Android 源代码获取以及主机环境搭建


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 http://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" name="platform/dalvik" />
<project path="development" name="platform/development" />
<project path="frameworks/base" name="platform/frameworks/base" />
repo/manifest.xml 中的 path 表示工程获取后的路径(基于当前目录), name 表示工程的名称。

相关内容