什么是GRF?
截取一段来之How Android's making it easier for phones to get 7 years of updates - Android Authority 有关说明.
GRF, which stands for Google Requirements Freeze, is the name of a program that Google launched in 2020 to make it easier for chipset vendors like Qualcomm and MediaTek to support 3 years of Android OS updates. // 从2020年开始推进的一个项目, 主要 目的是为了方便高通/联发科这些SOC平台厂能够更容易地支持3年(代)Android OS升级.
简单画个表格,来记录Android OS发布和对应地时间线.
2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 |
A7(N) | O | P | Q | R | S | T | A14(U) |
GRF makes good on the promise of Project Treble,(这也是要给重大变更,A8开始的内容,会单独出一个章节进行讲解) an architectural change that Google introduced in 2017 that modularized Android to separate the OS framework from lower-level vendor and Linux kernel software. Treble项目带来的最大好处是,将Android framework和底层Vendor的具体实现,Linux内核进行解耦.
The problem with Project Treble is that while it made it easier for OEMs to support Android OS updates, it actually increased the complexity for chipset vendors.
Treble项目的最大好处是,使得OEM(例如国内的ThunderSoft, 能够设计产品,但是无能力生产)能够很好的支持Andoroid OS升级, 但是却增加了Qualcomm和MediaTek的复杂度. 因为,无论是OEM还是ODM都需要有购买高通或者联发科的chipset和对应的source code.
This is because chipset vendors now had to support both devices that launched with the original version of Android that the chipset’s vendor software was built for as well as devices that launched with newer versions of Android.
因为,高通或者联发科需要能够同时支持chipset开发时候的对应Android OS所支持的vendor软件(例如mm-camera),同时还要支持后来在该chipset上新launch的Android OS系统的vendor软件.显然,Vendor软件要应对不同的Android OS版本.
一个很生动的图,能够说明问题:
To solve this, Google committed to freezing its vendor software requirements so they would no longer be retroactive, hence the “Freeze” in Google Requirements Freeze. Instead of requiring OEMs to ship updated vendor software with each Android OS update they wanted to roll out, OEMs could now ship Android OS updates with the original vendor software that the chipset was built for.
为了解决整个问题,Google同意冷冻他的vendor软件需求.这样的话,Vendor软件就不需要向后追溯了(大概可以理解为保持).因此,OEM就不用每次更新vendor部分的软件来应对不同的Android OS升级.OEMs可以只是升级Android OS更新,但是vendor部分可以保持不变即最开始芯片组开发时候的vendor软件.
Essentially, OEMs could reuse the chipset’s vendor software across multiple versions of Android and still receive certification from Google(GMS certification). This meant that chipset vendors like Qualcomm and MediaTek wouldn’t have to update their vendor software to meet new vendor software requirements for at least 3 years after launch(就是说Vendor可以复用至少3年), reducing the engineering costs associated with supporting multiple different combinations of vendor software and Android OS versions. Thanks to GRF, chipset vendors could save a lot of money by only having to support 4 Android OS/vendor software combinations as opposed to 10 if they wanted to support 3 years of updates.
所以,如果我使用了6490平台. 高通是在Android11上launch6490. 那么第一年我可以launch一个新设备Device Name : AAA from Android12(vendor复用A11上的). 第二年再launch一个新设备Device Name: BBB from Android13(vendor 复用A11上的)....
那如果是进行AAA的第二年的MR, maintaining release, 又会是怎样?