先吐槽,Google的代码和文档写的是真烂。完全根据他的文档来操作是完不成Pixel 4 AOSP源码编译和刷机这个事情的。经过痛苦的挣扎,最后终于刷机成功了。

代码下载

代码下载的流程在这,https://source.android.com/setup/build/downloading,这一步基本不会有啥问题,大概的步骤说一下。

repo init 要找到跟自己机器匹配的代码仓库

https://source.android.com/setup/start/build-numbers#source-code-tags-and-builds

这里列出了所有AOSP源码对应的支持的机器,找到你对应的机器的那一行的TAG,然后

执行 repo init -u https://android.googlesource.com/platform/manifest -b [TAG ID]

因为我的机器是Pixel 4,所以我的执行命令是:

repo init -u https://android.googlesource.com/platform/manifest -b android-11.0.0_r36

init完,直接

repo sync

就行了(VPN什么的自行搞定)

代码编译

基本流程看这:https://source.android.com/setup/build/building(但是不能全信)

主要步骤是执行下列命令:

1.

. build/envsetup.sh

2.

lunch [device name]

lunch

然后在他列出的列表里面选择你的机型

3.

make

这行这三部就开始编译了,编译的时间很长,请预留充足的磁盘空间。另外要提一下第二部lunch的device name参数的选择,可以看https://source.android.com/setup/build/running#selecting-device-build:Pixel 4选flame(他娘的google的文档现在纠正过来了,之前写的是coral,害老子花了多好几天的时间)

还可以通过adb命令获得手机的device name:

adb shell getprop | grep name

(嗯,走到这里就被文档戏耍了,不想多花时间走冤枉路的先看完再操作)

刷机

需要先解锁bootloader然后进入fastboot刷机,整个过程比较简单,照着文档做就行了https://source.android.com/setup/build/running#unlocking-the-bootloader

刷机进入fastboot后最后是执行:

fastboot flashall -w

然后等待。。。。。。。

等到最后启动会一直停在bootloader界面。起不来!!!

Pixel Factory Image

因为机器一直卡在bootloader界面起不来,无奈就去找了Pixel的官方厂包刷机:https://developers.google.com/android/images

找到对应的机型,下载zip厂包,然后执行他的flashall.sh,等待后,系统起来了。

这个时候发现,他的厂包里面比你编译出来的image多了这么两个东西:bootloader-flame-c2f2-0.3-7062597.img和radio-flame-g8150-00082-210106-b-7065218.img

文档里面完全没有写这玩意儿~~

你不说,我怎么知道我错在哪,让我去猜吗!!!

好吧我去猜!!!

下载编译驱动

在这里面https://developers.google.com/android/drivers,找到自己的机器的驱动,下载下来。(别问我是怎么知道的)

下载后解压出两个可执行脚本extract-google_devices-flame.sh和extract-qcom-flame.sh,放到AOSP源码根目录.

执行之,然后又要骂娘了(谁执行谁知道,剧透:按回车别按太快)。

执行完之后,会出现一个vender目录,这个目录里面有驱动的编译脚本。恭喜你重新编译吧。

(我是clean之后编译的,我不知道直接编译能不能行,别问我为什么要clean后再编译,因为编不过)。

编译不过,错误是找不到 vendor/qcom/coral/proprietary/com.qualcomm.qcrilmsgtunnel.xml

我clean了好几次,还是不过。一下这个文件是哪里引用的搜,然后开始骂娘。

人家都写flame,就你丫特殊要写coral,这哪个工程师没长眼睛。

把他改成flame,重新编译。这次居然编过了~~~

编译完后会发现out目录里面会多出bootloader.img,vendor.img,radio.img等。

ok,重新执行

fastboot flashall -w

恭喜,启动成功!!!徜徉在无尽的代码中吧~~~

Pixel 4 AOSP源码编译及刷机相关推荐

  1. AOSP源码编译和刷机(基于Nexus 5X)

    一.环境依赖 Ubuntu 18.04 系统库依赖 apt-get install git-core gnupg flex bison build-essential zip curl zlib1g- ...

  2. Android 源码编译及真机刷机实录

    最近接到一个项目,需要接触 Android 源码,所以走了一遍源码编译和刷机的过程,从开始到成功花了差不多一周的时间,踩了很多坑,在此记录一下. 整体分为四个部分: 文章目录 1.环境配置 1.1 创 ...

  3. 下载AOSP源码编译、调试、刷机

    一.准备工作 系统最好是Linux或者mac OS(本文基于Ubuntu). Ubuntu设置永不休眠,在setting中搜索power.blank-screen选择never. 一块大一点儿的硬盘, ...

  4. kali系统AOSP源码编译

    kali系统AOSP源码编译 文章目录 kali系统AOSP源码编译 前言 一.编译准备 1.修改`zsh`为bash 2.安装`openjdk-8-jdk` 3.修改默认Python版本 4.添加环 ...

  5. Aosp源码编译及pixel手机刷机

    一:简介 本文主要介绍一下如何下载aosp源码,打入对应的驱动包并基于工厂包刷一个完全由自己编译的aosp镜像包 基于此文,并不能修改驱动或内核,但可以修改hal层和framework以及aosp包中 ...

  6. Android AOSP 源码 编译 android5.1.1,并刷入手机

    必备: linux(本次使用centos7) aosp(android5.1.1) 二进制驱动(官网下载) 设备:nexus5 LMY48M openjdk 1.7.x centos和ubuntu基本 ...

  7. android源码编译并刷入nexus 6p手机

    来自"梧桐那时雨"的博客:https://blog.csdn.net/fuchaosz/article/details/52473660 1 前言 经过一周的奋战,终于从谷歌官网上 ...

  8. 使用Aosp源码编译安卓ROM(小米,一加,三星,中兴等)

    这是一篇实用性很强的文章,除了这段引言,其它的都不是废话:这篇文章教会你如何在你的大部分主流安卓机型上(小米,一加,三星,oppo,华硕,Google,Htc,华为,联想,LG,摩托,索尼,红米)使用 ...

  9. 车载技术—CarFramework框架【AOSP 源码编译】

    repo 安卓源码包含数百个git库, googole开发了 repo工具来管理安卓版本库. repo 使用python对git进行了封装. 内核源码 AOSP源码中不包含内核源码,需要单独下载. c ...

最新文章

  1. 理解MapReduce哲学
  2. Windows下载Android源代码
  3. c++ 数组置0_0基础学习C语言第七章:数组(1)
  4. 1026:空格分隔输出
  5. Java三行代码搞定MD5加密
  6. leetcode 238. Product of Array Except Self | 238. 除自身以外数组的乘积(Java)
  7. 导航菜单UI设计中的作用,优秀案例临摹起来!
  8. linux下qt生成dll,Qt 创建和使用动态链接库 - cibiren2011的专栏 - 博客频道 - CSDN.NET...
  9. 优先队列与Heap的小结
  10. 禁用惠普服务器自动开机,惠普商用台式机如何在BIOS中设置通电自动开机
  11. RH850F1x Starter Kit V3用户手册(中文翻译版)
  12. idea插件开发教程
  13. 淘宝宝贝改关键词有影响吗?如何修改?
  14. 实用ps教程-第一节:使用ps制作GIF动图
  15. excel电子表格发展历史
  16. 原创|实时数仓实战项目-第三节(数仓治理)
  17. 三位数求最大公因数c语言,求最大公因数的三种算法
  18. Envoy代理GRPC服务支持通过restful进行访问
  19. 2019校招宜信JAVA研发面经
  20. C++设计模式——状态模式

热门文章

  1. 克克星人的狗屁言论以及等等
  2. 解决insmod igb_uio.ko报错问题
  3. ef mysql自动更新_EntityFrameworkCore使用Migrations自动更新数据库
  4. 5G智能互动机械臂机器人隔空取物天翼生态博览会AI人工智能手势捕捉高科技互动展览展会亮点活动跳跃互动tioyo
  5. 宠物成长记录小程序开发,开辟宠物市场新流量
  6. 微信小程序怎么用,在微信那里打开
  7. qt 二维数组初始化_C语言二维数组的定义、初始化、赋值
  8. tplink android管理软件,TPLINK智能家居
  9. 小桂闹钟 v2.30 是什么
  10. 【日常】word--自定义目录-一键生成目录