背景:
基于aosp源码这个分支12.0.0_r1,需要刷车载系统到pixel5手机
需要刷手机系统的请见这个介绍:
https://blog.csdn.net/szdenny/article/details/129682071
前置条件:
1、12.0.0_r1已经下载好
2、pixel5 的oem已经解锁(O版本可以解锁,M版不可以,具体问卖家,找他帮你解锁,不能解锁的不要)
按照官方的说法,以下这些手机也是支持的,其他机器没验证过,我们只验证pixel5
Pixel 5
Pixel 4a (5G)
Pixel 3a
Pixel 3aXL
Pixel 4
Pixel 4XL
Pixel 4a
Pixel 6 和 Pixel 6 Pro(实验性)
操作步骤:
代码下载目录在/home/denny/aosp/android-12.0.0_r1,打开命令行输入
cd /home/denny/aosp/android-12.0.0_r1
下载驱动并解压,命令行输入
curl --output - https://dl.google.com/dl/android/aosp/google_devices-redfin-sp1a.210812.015-0b8e19bc.tgz | tar -xzvf -
tail -n +315 extract-google_devices-redfin.sh | tar -zxvf -
curl --output - https://dl.google.com/dl/android/aosp/qcom-redfin-sp1a.210812.015-cd095c85.tgz | tar -xzvf -
tail -n +315 extract-qcom-redfin.sh | tar -xzvf -
其他机器型号或者不同的代码分支,请到这里找对应的驱动:
https://developers.google.cn/android/drivers#redfinsp1a.210812.015
开始编译系统,命令行输入
. build/envsetup.sh
lunch 31
m
说明:这里的lunch 31,我这边的31是:aosp_redfin_car-userdebug,其他手机请选择对应的手机代号选择对应的数字
构建与汽车相关的软件包,命令行输入
m android.hardware.automotive.audiocontrol@1.0-service android.hardware.automotive.vehicle@2.0-service
make
手机准备,打开开发者模式-》打开usb调试+oem锁
检查手机连接状态,手机连接到电脑,如果是虚拟机,要保证手机和虚拟机建立连接,然后命令输入
adb devices
如果查看设备如果显示no permissions,就按照这个设置一下https://blog.csdn.net/qq_45458713/article/details/1290917253
如果什么也看不到,就是没建立连接。
解锁fastboot,注意这里2个解锁的概念(一个是oem锁,一个fastboot锁)命令输入,
adb reboot bootloader
fastboot flashing unlock
第一次可能会弹出一个界面,让你来解锁设备,然后等手机界面显示之后,按音量键,选择unlock,按下开机键。如果没有就忽略。
如果提示no permissions,就按照这个设置一下https://blog.csdn.net/qq_45458713/article/details/1290917253
如果什么也看不到,就是没建立连接。
8、开始刷机,注意会清除手机的系统和所有数据
fastboot flashall -w
9、刷完设备会自动重启,这个时候进入桌面会黑屏,执行命令
adb devices
发现是有设备存在的,就是看不到桌面,黑乎乎的
10、remount设备,输入命令
adb root && sleep 5 && adb disable-verity && sleep 1 && adb reboot && adb wait-for-device && sleep 5 && adb root && sleep 5 && adb remount
11、将所需的汽车专用文件推送到设备,输入命令
adb sync vendor
adb reboot
12、等待设备启动,效果如下,流程结束。