AOSP源码同步过程(官方)


第一步:安装Repo

Repo 是一款工具,可让您在 Android 环境中更轻松地使用 Git。

Repo 分为两部分:第一部分是您安装的启动器脚本,它可以与第二部分(即包含在源代码检出中的完整 Repo 工具)通信。

要安装 Repo,请执行以下操作:

1. 在根目录创建一个bin/目录,并且把它添加到PATH中。
mkdir ~/bin
    PATH=~/bin:$PATH
2. 下载Repo启动器,并设置权限保证它可执行。
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    chmod a+x ~/bin/repo

Repo运行时,需要安装Python环境。目前支持的版本是Python 3.6 及更高版本。

Python 低版本的适配

如果我们的Python版本低于3.6,我们可以将安装过程的第“2”个步骤,替换为:

curl https://storage.googleapis.com/git-repo-downloads/repo-1 > ~/bin/repo
    chmod a+x ~/bin/repo

支持 Python 2.7 的旧版 Repo 启动器。该启动器不会无限期有效。

第二步:初始化Repo

安装 Repo 启动器后,就可以设置您的客户端以访问 Android 源代码库了。

  1. 创建源码存放目录

创建一个空目录来存放我们将要下载的Android源码:

mkdir WORKING_DIRECTORY
    cd WORKING_DIRECTORY
  1. 使用您的真实姓名和电子邮件地址配置 Git

使用您的真实姓名和电子邮件地址配置 Git。要使用 Gerrit 代码审核工具,您需要一个与已注册的 Google 帐号相关联的电子邮件地址。确保这是您可以用来接收邮件的有效地址。您在此处提供的姓名将显示在您提交的代码的提供方信息中。

git config --global user.name "Your Name"
    git config --global user.email "you@example.com"

之前设置过可以省略此步骤。

  1. 运行 repo init 以获取最新版本的 Repo 及其最新的问题修复

您必须为清单指定一个网址,该清单用于指定 Android 源代码中包含的各个代码库将位于工作目录中的什么位置。

获取代码库的所有分支及TAG信息:

repo init -u https://android.googlesource.com/platform/manifest

要检出master之外的其他分支或TAG,可以使用-b参数:

//这里我们只检出android-10.0.0_r2分支
repo init -u https://android.googlesource.com/platform/manifest -b android-10.0.0_r2

初始化成功后,系统将显示一条消息,告诉您 Repo 已在工作目录中完成初始化。您的客户端目录现在应该包含一个 .repo 目录,这是清单等文件的存放位置。

第三步:下载Android源代码树

要将 Android 源代码树从默认清单中指定的代码库下载到工作目录,请运行以下命令:

repo sync
或
repo sync -j 4   //4个线程同步下载

要加快同步速度,请使用 -jthreadcount 标记。您也可以考虑添加 -qc,从而确保同步过程安静且仅在当前分支进行。

同步命令执行后,就开始源码下载过程了,这个过程非常漫长,网络还可以的话也需要几个小时才能完成一个Android版本的下载。