🗒️ GKI2.0介绍

Android 通用内核 (ACK) 是所有 Android 产品内核的基础。供应商内核和设备内核位于 ACK 的下游。供应商通过修改内核源代码并添加设备驱动程序,添加了对 SoC 和外围设备的支持。这些修改内容可能很多,以至于设备上运行的代码中有多达 50% 是树外代码(并非来自上游 Linux 和 AOSP 通用内核)

GKI2.0介绍
🗒️ GKI respin流程

在GKI2.0下我们使用的boot.img是google 提供的prebuild,当我们的bug fix,需要修改kernel代码的时就需要respin 。 在项目开发后期,谷歌会从主线上拉出月度分支,例如主线android13-5.15 上用的是android13-5.15-2022-08分支,此分支会作为最后发货,分支被冻结不会随着主线更新。我们基于这个分支去申请respin。

GKI respin流程
🗒️ GKI2.0 LTS升级流程

最新Linux内核上的新Android设备将需要每年执行两次LTS更新(针对Android通用内核),以满足Android操作系统发布后头两年的安全补丁级别(SPL)要求。之后,我们将需要执行年度LTS更新,而Android操作系统版本仍保留在安全修复的支持窗口中

GKI2.0 LTS升级流程
🗒️ Android编译原理之编译步骤

在 Android 7.0 之前,Android 编译系统使用 GNU Make 描述和shell来构建编译规则,模块定义都使用Android.mk进行定义,Android.mk的本质就是Makefile,但是随着Android的工程越来越大,模块越来越多,Makefile组织的项目编译时间越来越长。这样下去Google工程师觉得不行,得要优化

Android编译原理之编译步骤
🗒️ Android Network validation

基于andorid R梳理的wifi上网校验流程,其余android版本也差不多,相差不大

Android Network validation