文章目录
- 1. 环境准备
- 1.1 基本信息
- 1.2 系统初始化
- 1.2.1 更新 Ubuntu 软件包
- 1.2.2 安装 git 工具
- 1.2.3 安装依赖包(Ubuntu 18.04)
- 1.2.4 修改默认python版本
- 1.2.5 安装 repo 工具
- 2. 源码下载完成
- 2.1 创建源码目录
- 2.2 初始化源码仓库
- 2.3 开始下载源码
- 2.4 Android 13 源码目录
- 3. 构建 Android 系统
- 3.1 切换 dash 为 bash
- 3.2 安装 JDK
- 3.2 开始构建
- 3.3 选择构建目标
- 3.4 构建目标平台镜像
1. 环境准备
1.1 基本信息
资源 | 版本 |
---|---|
操作系统 | Ubuntu Desktop 18.04 |
官方源码地址 | https://android.googlesource.com/platform/manifest |
国内镜像地址 | https://aosp.tuna.tsinghua.edu.cn/platform/manifest |
Android版本 | android-13.0.0_r18 |
磁盘空间 | 400G |
机器内存 | 16G |
1.2 系统初始化
1.2.1 更新 Ubuntu 软件包
su - root
apt-get update
apt-get upgrade
1.2.2 安装 git 工具
sudo apt-get install git
1.2.3 安装依赖包(Ubuntu 18.04)
sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig vim
1.2.4 修改默认python版本
su - root
rm -rf /usr/bin/python
ln -s /usr/bin/python3 /usr/bin/python
验证python版本,确认 python 的默认版本是 3.x
python --version
1.2.5 安装 repo 工具
cd /opt
git clone https://gerrit-googlesource.lug.ustc.edu.cn/git-repo
cd git-repo
修改 repo 中 REPO_URL 变量值。将变量值设置为:https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
vim repo
然后将 repo 文件复制到 /usr/bin
目录中
su - root
cp repo /usr/bin
chmod +x /usr/bin/repo
2. 源码下载完成
2.1 创建源码目录
su - root
cd /opt
mkdir android
cd android
2.2 初始化源码仓库
- 配置 git 信息
git config --global user.email "email"
git config --global user.name "name"
- 初始化源码仓库
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-13.0.0_r18
2.3 开始下载源码
repo sync -c -j8
等待下载完成。
源代码下载的时间比较长,一共耗时1小时12分钟。源码下载到本地后会自动进入文件检验阶段,用与校验下载的文件是否有缺失。
源码下载注意事项
- 下载中断可能导致部分包无法成功获取,如下图所示
如果遇到上图信息,表示源码下载失败,需要重新下载。由于源码下载的时间比较长,建议关闭电脑的休眠功能,否则当电脑休眠后下载可能会中断。
2.4 Android 13 源码目录
源代码下载后约占用 126G 的磁盘空间。
3. 构建 Android 系统
3.1 切换 dash 为 bash
sudo dpkg-reconfigure dash
选择 No,将会切换到 bash 环境
3.2 安装 JDK
sudo apt-get install openjdk-11-jdk
3.2 开始构建
source build/envsetup.sh
3.3 选择构建目标
lunch
3.4 构建目标平台镜像
m -j8
将会进入系统编译构建过程
Android 系统构建的过程非常长,构建完成后,将会在 out 目录中查看到编译好的系统镜像。