1. 环境准备
任务目标
本案例完成AOSP源码编译前的环境准备:安装Ubuntu 20.04/22.04 LTS系统,并安装编译AOSP所需的基础依赖包。完成后系统应具备AOSP master分支(Android 13+)编译的基本环境条件。
环境要求
- 硬件:至少16GB RAM(推荐32GB),500GB可用磁盘空间(推荐SSD),4核以上CPU
- 系统:Ubuntu 20.04 LTS 或 22.04 LTS(64位)
- 磁盘格式:建议ext4,避免使用FAT32/NTFS(符号链接支持问题)
安装步骤
1. 安装Ubuntu系统
从Ubuntu官网下载对应LTS版本的ISO镜像,使用Rufus(Windows)或balenaEtcher(跨平台)制作启动U盘。安装时选择“最小安装”即可,无需额外图形软件。安装完成后执行系统更新:
sudo apt update && sudo apt upgrade -y
2. 安装基础依赖包
AOSP编译需要一系列工具链和库。以下命令安装master分支(Android 13+)所需的全部基础依赖:
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 libncurses5-dev libncursesw5-dev \
python3 python3-pip openjdk-11-jdk
对于Ubuntu 22.04,还需额外安装以下兼容包:
sudo apt install -y libncurses5 libncursesw5 lib32ncurses-dev
3. 安装Repo工具
Repo是AOSP多仓库管理工具,需单独安装:
mkdir -p ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
echo 'export PATH=~/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
4. 配置Git身份
AOSP编译脚本会读取Git用户信息,必须提前配置:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
验证方法
执行以下命令,确认所有依赖就绪:
# 验证Java版本(需为OpenJDK 11)
java -version
# 验证Python版本(需为3.8+)
python3 --version
# 验证Repo工具
repo --version
# 验证编译工具链
gcc --version
make --version
通过条件:以上命令均能正常输出版本信息,无“command not found”错误。若Java版本不是11,需执行 sudo update-alternatives --config java 手动切换。
常见问题
- 磁盘空间不足:AOSP源码下载约30GB,编译产物另需200-300GB,请预留足够空间。
- libncurses5缺失:Ubuntu 22.04默认仓库不含此包,需从Ubuntu 20.04仓库手动下载安装,或使用上方提供的兼容包命令。
- Repo下载失败:若无法访问Google存储,可使用国内镜像:
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo