一.必备工具
必须先安装 OpenJDK、Make、Python 3 和 Repo,然后才能使用 AOSP。Android 的 AOSP 主分支附带预构建版本的 OpenJDK、Make 和 Python 3,因此不需要额外的安装步骤。下一部分介绍了如何安装 Repo。
** 1.安装repo**
sudo apt-get update
sudo apt-get install repo(正常情况下,安装成功了,如果失败了,尝试手动安装)
(手动安装步骤如下)
/*****/
{export REPO=$(mktemp /tmp/repo.XXXXXXXXX)
curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo
gpg --recv-keys 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo
}
/*****/
repo version(验证版本)
2.下载源码
cd~
mkdir aosp
cd aosp
(初始化代码主分支)
repo init --partial-clone -b main -u https://android.googlesource.com/platform/manifest
(前提是拥有git认证凭据)
repo sync -c -j8(同步代码,j8 只是根据你线程数进行的配置,配置越高,下载时间越短)
(至此,源码下载完成,当然,如果你没有翻墙工具的话,需要使用国内的镜像下载,也就是需要替换掉出实话代码主分支的下载链接,比如阿里镜像)
3.构建代码
设置构建环境
source build/envsetup.sh
使用 lunch 命令指定要构建的目标设备类型。**目标是指设备组合,例如特定型号或外形规格。 指定此目标:
lunch aosp_cf_x86_64_phone-trunk_staging-userdebug
(此处需要注意的是,要制定的型号和规格,选择适合自己的型号和规格,型号规格选择类型可以通过)
如上命令拆解如下:
`lunch` 的选项通常为 `device-buildtype` 组合,例如 `aosp_pixel-eng`
`device`**:目标设备的代号(如 `aosp_pixel`、`sdk_phone_x86_64`)。
`buildtype`**:构建类型(如 `eng`、`userdebug`、`user`)
查看所有设备的命令是lunch
### **构建类型(Build Variant)**
- **`eng`**(Engineering Build):
- **用途**:开发调试版本,包含 root 权限、调试工具(ADB、Logcat)、性能分析工具。
- **特点**:性能较低(启用调试),适合开发者。
- **`userdebug`**(User Debug Build):
- **用途**:测试版本,保留部分调试功能(如 ADB),但去除非必要工具。
- **特点**:平衡性能与调试,适合测试团队。
- **`user`**(User Build):
- **用途**:正式发布版本,禁用所有调试功能,优化性能。
- **特点**:无 root 权限,适合最终用户。
* * *
输出示例:
You're building on Linux
Lunch menu... pick a combo:
1. aosp_arm-eng
2. aosp_arm64-eng
3. aosp_pixel-userdebug
4. aosp_x86_64-eng
...(更多选项)
选择推荐:
lunch aosp_pixel-userdebug # 编译 Pixel 设备的 userdebug 版本
lunch sdk_phone_x86_64-eng # 编译 x86 模拟器的 eng 版本
模拟器镜像
lunch sdk_phone_x86_64-eng # 64 位 x86 模拟器
lunch aosp_arm-eng # ARM 模拟器(低性能设备)
最后构建目标 使用 make或m 命令,大概需要几个小时的时间编译完成(需要注意的是,最好采用linux系统进行编译)