参考资料
参考 Google 教程 https://source.android.com/setup/build/downloading, 将
https://android.googlesource.com/
全部使用https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/
代替即可。-
建议从这下载吧,然后安装下repo,然后再进解压后的目录执行repo sync,省事一些。不然下载贼慢还老出错醉了,真的慢的没法接受。然后后面记录下文档上的正常操作流程,当然我以后是不会用那个了,太慢了。
https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar
下载
- 安装repo
// 确保您的主目录中有一个 bin/ 目录,并且它包含在您的路径中
mkdir ~/bin
PATH=~/bin:$PATH
// 下载 Repo 启动器,并确保它可执行
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
// 可选 验证启动器与 Google 签名是否匹配
gpg --recv-key 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
curl https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ~/bin/repo
- 创建一个空目录来存放您的工作文件。为其指定一个您喜欢的任意名称:
cd ~
mkdir Projects
cd Projects
mkdir AOSP_Learn
cd AOSP_Learn
- 用您的真实姓名和电子邮件地址配置 Git。如需使用 Gerrit 代码审核工具,您需要一个与已注册的 Google 帐号相关联的电子邮件地址。 确保这是您可以用来接收邮件的有效地址。您在此处提供的姓名将显示在您提交的代码的提供方信息中。
git config --global user.name shihchieh_ma
git config --global user.email shihchieh.ma@gmail.com
- 我是用了omz,所以放到了.zshrc文件中,然后
source ~/.zshrc
就行,不用重启终端。
- 运行 repo init 获取最新版本的 Repo 及其最新的 bug 修复。清单文件指定了 Android 源代码中包含的各个代码库将放置到工作目录中的什么位置,您必须为该清单指定一个网址。
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest
- 如需签出 master 分支,请运行以下命令:
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b master
- 确保您的系统已安装 Python 2.7。(我用的是3.9)
如果使用的是 Git 2.19 或更高版本,您可以在执行repo init
时指定--partial- clone
,这样可以利用 Git 的部分克隆功能,从而仅在需要时下载 Git 对象而非下载所有内容。由于使用部分克隆意味着许多操作必须与服务器通信,因此,如果您是一名开发者并且使用的是低延迟网络,请使用以下命令:
repo init -u https://android.googlesource.com/platform/manifest -b master --partial-clone --clone-filter=blob:limit=10M
仅针对 Windows 操作系统:如果您收到一条错误消息,告诉您无法创建符号链接(这会导致 repo init
运行失败),请参阅 GitHub 符号链接文档来创建符号链接,或启用符号链接方面的支持。如果您不是管理员,请参阅允许非管理员创建符号链接部分。
初始化成功后,系统将显示一条消息,告诉您 Repo 已在工作目录中完成初始化。您的客户端目录现在包含一个 .repo 目录,这是清单等文件的存放位置。
我是mac,他说只针对win,我这个命令也输入了,就想看看会不会出错,不出错更好。没看到说master分支和别的分支区别,可能master分支是最新的吧,猜的哈。
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b master --partial-clone --clone-filter=blob:limit=10M
目前最新android-11.0.0_r37:
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-11.0.0_r37 --partial-clone --clone-filter=blob:limit=10M
- 开始同步
repo sync
好家伙,这速度,慢的可以,真想使用魔法去google,奈何流量捉鸡。挂着等吧编译
坑留着 有空整。