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 源代码库了。
- 创建源码存放目录
创建一个空目录来存放我们将要下载的Android源码:
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
- 使用您的真实姓名和电子邮件地址配置 Git
使用您的真实姓名和电子邮件地址配置 Git。要使用 Gerrit 代码审核工具,您需要一个与已注册的 Google 帐号相关联的电子邮件地址。确保这是您可以用来接收邮件的有效地址。您在此处提供的姓名将显示在您提交的代码的提供方信息中。
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
之前设置过可以省略此步骤。
- 运行 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版本的下载。