hi,因为同学们学完了我的课程后,开始想玩一下google的pixel实体机,不想一直玩模拟器了,那么千里马老师今天也在咸鱼上掏了一个pixel 3来给大家展示一下这个google的机子怎么玩,其实我自己本身是有小米的lineage系统在玩,为了满足广大粉丝的好奇心也就自掏腰包买了个pixel玩,下面我们正式开始记录整个pixel 3的刷入自己编译修改的aosp代码:
入门课,实战课,跨进程专题,input专题
ps需要学习深入framework课程和课程优惠
新课程优惠获取请加入qq群:422901085(获取demo源码)

1、开始前准备

前期我有2篇blog大家可以先去按blog搭建好,然后再来看这篇哈
aosp环境搭建:
https://blog.csdn.net/learnframework/article/details/107887594 Ubuntu16的看这里
https://blog.csdn.net/learnframework/article/details/121345533 Ubuntu 20看这里

实体硬件准备个pixel,我这里是pixel 3
在这里插入图片描述

2 解锁pixel 3

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加载程序后,每次手机启动时,你都会见到一条警告,提示解锁了,这个其实没关系本来我们就是要解锁。

3、下载对应的vendor和驱动包

下载地址如下:
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、编译刷入

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 
 //选择正取产品目标
 3make -j 20
 4cd out/target/product/crosshatch/
  //进入out下镜像目录
 5、 adb reboot bootloader
 //进入bootloader
 6、fastboot flashall -w 
   //刷入out下面所有镜像

//注意这里crosshatch是产品代号,可以在https://developers.google.cn/android/drivers根机型查看

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐