hi,因为同学们学完了我的课程后,开始想玩一下google的pixel实体机,不想一直玩模拟器了,那么千里马老师今天也在咸鱼上掏了一个pixel 3来给大家展示一下这个google的机子怎么玩,其实我自己本身是有小米的lineage系统在玩,为了满足广大粉丝的好奇心也就自掏腰包买了个pixel玩,下面我们正式开始记录整个pixel 3的刷入自己编译修改的aosp代码:
入门课,实战课,跨进程专题,input专题
ps需要学习深入framework课程和课程优惠
新课程优惠获取请加入qq群:422901085(获取demo源码)
前期我有2篇blog大家可以先去按blog搭建好,然后再来看这篇哈
aosp环境搭建:
https://blog.csdn.net/learnframework/article/details/107887594 Ubuntu16的看这里
https://blog.csdn.net/learnframework/article/details/121345533 Ubuntu 20看这里
2.1 adb 连接pixel 3
Ubuntu环境下需要在udev下加上对应rule
test@test-Lenovo:~$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
然后reboot电脑
2.2 开启adb开关和oem开关(加入开发选项方法:设置–》关于手机–》编译版本)
开usb调试(如果会有弹出允许设备调试弹框,选择允许既可以)
开启oem解锁
然后在Ubuntu终端输入如下,可以看到对应的手机设备
test@test-Lenovo:~$ adb devices
List of devices attached
89DY05ZHM device
2.3 进入解锁模式
test@test-Lenovo:~/aosp$ adb reboot bootloader
//进入BootLoader模式
test@test-Lenovo:~/aosp$ fastboot devices
89DY05ZHM fastboot
//查看fastboot模式下是否有设备
test@test-Lenovo:~/aosp$ fastboot flashing unlock
OKAY [ 0.031s]
Finished. Total time: 0.031s
//执行解锁
上面命令执行完成后,还需要手机上进行确认操作
这时候还处于locked,按音量上下键可以
点击power键确认解锁既可以,然后fastboot reboot重启即可以
成功解锁Bootloader!至此解锁bootloader加载程序后,每次手机启动时,你都会见到一条警告,提示解锁了,这个其实没关系本来我们就是要解锁。
下载地址如下:
https://developers.google.cn/android/drivers
根据自己手机型号取这里里面点击下载对应的,我们这里选择下载android 12的最新版本
把以上压缩包解压得到两个.sh文件拷贝到aosp的根目录
然后在aosp根目录分别执行2个sh:
test@test-Lenovo:~/aosp$ ./extract-qcom-crosshatch.sh
(会提示按Enter键,这里一直按,到最后一行输入“I ACCEPT”就可以)
然后会执行解压
4.1 aosp部分请切到一个android-12的分支
这里可以考虑进入.repo/manifests下面直接进行checkout
test@test-Lenovo:~/aosp/.repo/manifests$ git branch
* android-12.0.0_r32
checkout后
到根目录进行 repo sync就可以
4.2 编译刷入
上面所有步骤完成后既可以进入无脑的编译和刷入了
1、 . build/envsetup.sh
2、 lunch aosp_crosshatch-userdebug
//选择正取产品目标
3、 make -j 20
4、 cd out/target/product/crosshatch/
//进入out下镜像目录
5、 adb reboot bootloader
//进入bootloader
6、fastboot flashall -w
//刷入out下面所有镜像
//注意这里crosshatch是产品代号,可以在https://developers.google.cn/android/drivers根机型查看