2. 初始化AOSP源码仓库
任务目标
在Ubuntu 22.04主机上完成AOSP源码仓库的初始化,包括:安装必要依赖、配置repo工具、创建并初始化工作目录、切换指定分支。最终通过repo sync验证仓库状态可用。
环境与依赖
- 操作系统:Ubuntu 22.04 LTS(x86_64),磁盘剩余空间 ≥ 300GB,内存 ≥ 16GB
- Python 3.8+ 与 Git 2.25+(系统预装即可)
- 需安装包:
git-core、gnupg、flex、bison、build-essential、zip、curl、zlib1g-dev、libc6-dev-i386、libncurses5-dev、lib32ncurses-dev、libx11-dev、lib32z1-dev、libgl1-mesa-dev、python3-pip、libssl-dev
初始化步骤
1. 安装依赖包
sudo apt update
sudo apt install -y git-core gnupg flex bison build-essential zip curl \
zlib1g-dev libc6-dev-i386 libncurses5-dev lib32ncurses-dev \
libx11-dev lib32z1-dev libgl1-mesa-dev python3-pip libssl-dev
2. 安装并配置 repo 工具
mkdir -p ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo -o ~/bin/repo
chmod a+x ~/bin/repo
# 将 repo 加入 PATH(写入 ~/.bashrc 后 source 生效)
echo "export PATH=\$PATH:~/bin" >> ~/.bashrc
source ~/.bashrc
3. 创建并初始化工作目录
以 android-13.0.0_r41 分支为例(对应Pixel 6系列),执行以下命令:
mkdir -p ~/aosp
cd ~/aosp
repo init -u https://android.googlesource.com/platform/manifest \
-b android-13.0.0_r41 --depth=1
若网络无法直接访问 android.googlesource.com,可使用镜像(如清华AOSP镜像):
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest \
-b android-13.0.0_r41 --depth=1
4. 同步源码
repo sync -j8 -c
-j8 为并行任务数,建议不超过CPU核心数×2;-c 表示仅同步当前分支。
验证方法
初始化成功的判定标准如下:
repo init执行完毕后,~/aosp/.repo/manifests/目录存在,且包含default.xml文件;repo sync正常结束且退出码为0,无fatal或error输出;- 工作目录下出现
build/、art/、frameworks/等顶层目录; - 执行
source build/envsetup.sh后能识别lunch命令(仅验证环境脚本可加载,不要求完成编译)。
常见问题
- repo: command not found:确认
~/bin已加入PATH,且repo文件具有执行权限。 - SSL证书错误:执行
sudo apt install ca-certificates后重试。 - 磁盘空间不足:AOSP完整源码约200GB(含.git目录),使用
--depth=1可减少约30%体积,但后续切换分支需重新获取历史。 - 同步中断:直接重新执行
repo sync即可断点续传,无需重新init。
初始化完成后,即可进入后续的环境配置与首次编译案例。