Recovery分区成为历史 首先看图,Android系统启动方式变更,由Recovery转为使用A/B分区机制,通过boot来引导启动。而Android 11 的机制在此基础上进行一定的改变,升级系统时会比较新系统数据和当前系统的差异,并将此差异保存至一个分区,之后使用新数据来启动系统,如果启动顺利则将该数据差异写入至系统分区。 A/B分区的更新过程: 系统更新文件的安装会在备份系统“B系统”上完成,并不影响“A系统”的同时使用,直至下次用户重启时,将B系统作为主系统启动,启动成功后,将A系统作为备份系统开始备份。 优点:不必刻意打断用户对手机的使用。保证了更新错误时也能启动。 不足:对闪存性能要求较高,比如说emmc闪存的半双工读写模式就不太适合这种更新机制。(存疑 ,待修改) 简化系统的升级流程 Android 系统进行大版本升级的大致流程: Google 将新系统源码发布至 AOSP 启动/硬件适配:芯片制造商(高通、三星、联发科等等)对源码进行有针对性的修改,来让自家芯片能够在新版本 Android 系统源码的基础上正常启动、各功能有效运作 OEM 适配:芯片制造商将修改后的源码交给 OEM 厂商,厂商根据自己的需求进一步修改新系统,加入特色功能和定制应用等等 QA/测试:OEM 厂商对系统进行内部测试,部分厂商还会与合作运营商一起检测新版系统的兼容性 最终版本:测试无误后的新版系统通过 OTA 推送给用户 Google引入vendor interface的理念,将Vender Implementation(由芯片厂商编写的设备专属的底层部分,由Google和芯片厂商一起承担,并被设计为不再面向特定版本的Android系统),从Android框架中剥离出来。这解决了因芯片厂商不适配而导致Android设备无法升级更高Android版本的问题。 更灵活的更新系统组件 在Android 10中,Google推行了Project Mainline,将系统进一步细分模块化,使得系统组件得以在应用商店上更新。在Android 11,Google进一步将改制推行到系统内核中,内核被分为了Generic Kernel Image(GKI)和其他GKI模块,Google不必通过SoC厂商和手机设备厂商,直接向手机推送GKI来升级Linux版本。 规范存储目录文件 Android 11不再允许App在sdcard建目录和文件,App只能网特定目录的私人文件夹写入数据。 注: A/B分区机制: 本质上是一个系统镜像备份机制, “A系统”是手机当前正在使用的,“B系统”是A系统的备份,两个系统之间完全同步对称,用户在A系统中的改变也会被备份。 AOSP: “Android Open Source Project”,万物基于AOSP :) OEM: “Original Equipment Manufacturer”,原始设备制造商,自主加工。(代工生产,贴牌生产,为品牌厂商量身订造,生产后只能使用该产品名称,不能用生产者自己的名称再生产) ODM: “Original Design Manufacturer:,原始设计制造商,自主设计。(如果品牌厂商没有买断该产品的版权,制造商有权在没有企业公司的设计识别下进行组织生产) OBM: ”Original Brand Manufacturer“,原始品牌制造商”,自主品牌。 Project Treble: 将系统(Android OS framework)单独分区和硬件驱动(Vendor Implementation)分离,厂商不需要重新适配驱动就可以为设备单独推送新版安卓。 经过该认证的手机,已能运行AOSP,并可以运行开发者通过AOSP编译的ROM,不限于OEM厂商的设备。 ———————————————— 版权声明:本文为CSDN博主「莫泽Morze」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_41384798/article/details/113642108 |
|