2021春节期间,清理硬盘,顺便把代码目录整理了一遍,手头有个pixel5,重温了一遍AOSP编译过程
1. ubuntu编译前要安装依赖包,先在命令行里切换安装镜像源为阿里源,16.04和18.04是不同的,具体按baidu搜索的教程。注意,在ubuntu图形化界面里切换,在ssh远程命令行敲apt install是不行的,必须全部在命令行操作
2. 下载代码,最方便的当然是下载清华镜像中的aosp-latest.tar,然后执行以下命令:
tar -xvf aosp-latest.tar
cd aosp
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-11.0.0_rxxxx
repo sync -c -j8
上述步骤中的rxxxx,根据准备烧录的pixel设备的版本号定,具体参考版本号与branch对应关系
https://source.android.google.cn/setup/start/build-numbers?hl=zh-cn
3. pixel之后的设备,需要额外下载vendor驱动,有两个包,分别由google和qualcomm提供,具体参考如下地址,同样,需要保证版本号对应
https://developers.google.com/android/drivers
4. 解压驱动
tar xvfz google_devices-xxxxx-pq2a.190205.002-a5b43ffa.tgz
extract-google_devices-xxxxx.sh
tar xvfz qcom-xxxxx-pq2a.190205.002-d5cc3341.tgz
extract-qcom-xxxxx.sh
5. 编译
source build/envsetup.sh
lunch xxxxx
make -j8
编译前,确保内存大于16G,硬盘大于400G。单说硬盘,从esxi的吞吐量看,普通3.5硬盘应该也可以,实际测试nvme的ssd与普通硬盘,编译时间差别小于20%