1. 搭建AOSP构建环境

任务说明

在 Ubuntu 22.04 LTS 上完成 AOSP 构建所需的基础环境配置:安装依赖包、配置 JDK 与 Python,并验证 repo 工具可用。本案例覆盖从零到可执行 repo init 的环境准备阶段。

环境要求

  • Ubuntu 22.04 LTS(64 位),磁盘剩余空间建议 ≥ 300GB(源码 + 构建输出)
  • 内存 ≥ 16GB(推荐 32GB),交换分区可选
  • 已安装 curl 与 git(若缺失,先执行 sudo apt install curl git)

安装依赖包

AOSP 官方文档要求的 Ubuntu 22.04 依赖包如下,使用 apt 一次性安装:

```bash sudo apt update sudo apt install -y git-core gnupg flex bison build-essential zip curl zlib1g-dev \ libc6-dev-i386 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev \ libxml2-utils xsltproc unzip fontconfig python3 python3-pip \ openjdk-11-jdk ```

安装完成后确认关键组件版本:

```bash java -version # 预期输出 openjdk version "11.0.x" python3 --version # 预期输出 Python 3.10.x git --version # 预期输出 git version 2.3x.x ```

配置 repo 工具

repo 是 AOSP 多仓库管理工具,需单独安装并赋予执行权限:

```bash mkdir -p ~/bin curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo ```

将 ~/bin 加入 PATH(写入 ~/.bashrc 末尾):

```bash echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc source ~/.bashrc ```

验证 repo 是否可用:

```bash repo --version ```

预期输出包含类似 repo version v2.x 的信息,且不报错。

验证环境完整性

执行以下命令,确认所有关键组件就绪:

```bash echo "=== Java ===" && java -version 2>&1 | head -n 1 echo "=== Python ===" && python3 --version echo "=== Repo ===" && repo --version 2>&1 | head -n 1 echo "=== Git ===" && git --version echo "=== 依赖包检查 ===" && dpkg -l | grep -E "openjdk-11-jdk|python3|git-core" | awk '{print $2, $3}' | head -n 5 ```

通过条件:以上命令均正常输出对应版本号,无 command not found 或依赖缺失错误。此时环境已具备执行 repo init 拉取 AOSP 源码的条件。

常见问题

  • Python 版本过低:Ubuntu 20.04 默认 Python 3.8,需先升级至 3.9+ 再继续,否则 repo 可能报语法错误。
  • JDK 版本不匹配:AOSP master 分支要求 JDK 11(Ubuntu 22.04 默认 openjdk-11),若使用其他版本需通过 update-alternatives 切换。
  • repo 下载失败:若无法访问 Google 存储,可改用 https://mirrors.tuna.tsinghua.edu.cn/git/git-repo 镜像下载。