AOSP 是 Android 的开源项目 (Android Open Source Project),是一个完整的软件栈,包括操作系统、中间件和应用程序。AOSP 项目的目标是提供一个完整的、通用的、开源的、可移植的软件栈,以支持移动设备和嵌入式设备的开发, 如手机、平板电脑、车载系统、电视和其他设备。
本仓库是从官方通过 Repo 工具同步的 AOSP 代码(android-14.0.0_r1), 下载后的代码经过处理后,合并成 monorepo。
使用 cnb 进行代码托管、编译:125G 代码,10 秒内准备完成。
通过 Repo 下载 android-14.0.0_r1
分支的代码,下载的代码深度为 1,不包含历史提交记录,下载完成后,执行 repo sync
命令,下载代码。
repo init -u https://android.googlesource.com/platform/manifest -b android-14.0.0_r1 --current-branch --depth=1 --no-clone-bundle && repo sync -j 32 -c -d --no-clone-bundle
.git
目录、删除根目录的 .repo
目录(下载后后续无需再使用 Repo 工具管理)。具体可查阅够流水线的 Dockerfile 文件,安装了 AOSP 编译所需的依赖。 也可按照官方文档安装依赖。
构建 AOSP 代码,需要大量的内存和磁盘空间,推荐使用 32G 以上内存和 500G 以上磁盘空间。
# 设置环境变量
source build/envsetup.sh
# 选择编译目标
lunch aosp_arm-eng
# 编译,-j64 表示使用 64 个 jobs 编译,可以根据自己的机器配置调整
make -j64
项目使用了 cnb 的 git-clone-yyds 读秒克隆、volume 缓存、远程开发等功能,具体配置可点击查看 .cnb.yml