pixel 编译 aosp

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

2021.12.01刷新,android12的aosp-latest.tar压缩包已经100多G了,下载压缩包这个步骤已经没有必要了,直接repo init即可,国内镜像速度不慢。

上述步骤中的rxxxx,根据准备烧录的pixel设备的版本号定,具体参考版本号与branch对应关系

代号、标记和 Build 号  |  Android 开源项目  |  Android Open Source Project

2021.12.01刷新,编译后的二进制不全,会有怪异问题(例如wifi无法打开),所以必须先下载对应版本的factory image,再编译,再用fastboot flashall -w刷写自编译镜像

factory镜像下载地址:https://developers.google.com/android/images

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

2021.12.01刷新,执行上述命令后有的时候会出现vendor目录无权限

chmod -R 777 vendor,确保最终编译出来的bootloader.img,radio.img, vendor.img 三个文件有权限读写

5. 编译

2021.12.01刷新,注意,如果要调试fwk代码,需要编译no dex的版本

具体方法:

1)build\make\core\board_config.mk

WITH_DEXPREOPT := true  改为 WITH_DEXPREOPT := false

2)build\make\core\dex_preopt_config.mk

注释掉 :##$(call pretty-error, DEXPREOPT must be enabled for user and userdebug builds)

source build/envsetup.sh
lunch xxxxx
make -j8

编译前,确保内存大于16G,硬盘大于400G。单说硬盘,从esxi的吞吐量看,普通3.5硬盘应该也可以,实际测试nvme的ssd与普通硬盘,编译时间差别小于20%

5. 关于GMS

如果需要gms app,可以参考opengms github的说明,下载app再编译,简单点的办法是push如下文件到手机中,就有google play了,再安装apk就随意了,在AOSP 11 r28到AOSP 12 r10之间的版本验证通过,在pixel5上工作正常,但会有play protect问题,需要上google网站添加deviceid,具体参考:How to fix "Device is not Play Protect certified" error - Technobaboy.com

下载链接和脚本   》》》》 下载

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值