谷歌要求在新的Android11设备上使用虚拟A

手机2020-08-30 14:24:55
导读

借助Android 7.0 Nougat,Google引入了旨在加快软件更新速度的分区方案。在Nougat中,Google添加了对复制某些分区的支持,以便可以在后台更新不活动的分区,然后通过快速重新启动将其切换为活动的分区。这种“ A / B分区”设置允许在支持的Android设备上进行“无缝更新”,就像Google的Chrome OS一样。但是,Google从未强制使用A / B分区,因此许多设备不支持无缝更新。但是,随着Android 11的出现,情况可能会发生变化,因为Google强制要求新发布的设备必须支持虚拟A / B分区。

出于某种背景,A / B分区是指重复的只读分区集。重复的分区通常包括系统,供应商,引导和产品分区。当电话下载更新时,更新程序会在后台修补不活动的一组分区(一个“插槽”)。一旦将更新完成应用到非活动插槽后,系统将提示用户重新启动设备。用户重新启动设备时,非活动插槽将与活动插槽交换位置,从而完成更新过程。如果引导新更新的插槽存在问题,则保留先前处于活动状态的插槽。下一次更新更新时,将重复此过程。如果您对更多技术说明感兴趣,请参阅Google开发者文档 在A / B分区上。

相反,没有A / B分区的设备(例如Samsung Galaxy S20,OPPO Find X2等)在恢复过程中通过专用更新程序应用更新。这会将用户踢出Android系统,并使他们无法在几分钟内使用设备,从而可能会丢失重要的通知,电话或短信。Google相信简化更新过程会导致更多的人在更新发布后实际进行更新。实际上,在2017年5月,Google发现与运行最新安全更新的Nexus用户相比,Pixel用户所占的百分比更高。当然,用户可以计划在不积极使用其设备时进行更新,但是即使有提示,许多用户也根本不更新其设备。此外,由于没有A / B分区,用户会错过其固有的优势之一:保护它们免受系统更新的破坏。

例如,当小米首次推出针对Mi A2 Lite 的Android 10更新时,许多用户发现他们的设备无法启动。幸运的是,弥A2精简版具有无缝更新A / B分区,所以在我们的论坛网友发现,他们可以使用FASTBOOT命令设置引导加载程序以引导未触及的,先前处于活动状态的分区集。因此,A / B分区不仅为用户提供了更快的更新过程,而且还充当了故障更新的故障保护。尚未实现A / B分区的OEM仍可以设计自己的方法来防止OTA故障,但是当这种保护是A / B分区设计的一部分时,为什么还要经历这种麻烦呢?供您参考,这是支持A / B分区进行无缝更新的设备的部分列表(并且已经过时),这是有关如何检查自己的设备是否支持该功能的教程。

为何像三星这样的某些OEM 会为智能手机收取1400美元,却不提供如此精美的功能,这似乎令人感到困惑。原因通常归结为存储:OEM不想牺牲数GB的存储空间来支持无缝更新。像三星Galaxy S20这样的手机已经预装了 大量的软件,因此,复制/ system和/ product等分区将导致大量大文件和应用程序被复制。由于巧妙的技巧, Google设法实现了A / B分区而又不牺牲太多存储空间解决复制大量的.odex文件的问题。OEM可能选择不实施A / B分区的另一个原因是成本:跟上Google对Android分区方案的不断变化,需要付出很多努力,正如XDA公认的开发人员topjohnwu会告诉您的那样。除非原始设备制造商被迫这样做,否则许多人不会费心去改变已经为他们所用的产品。

最后,尽管如此,谷歌似乎正在制定Android 11的法律。通过在新推出的设备上强制采用虚拟A / B分区,他们几乎都确保OEM厂商必须在2020年末和2012年末支持无缝更新。 2021设备。正如XDA认可的开发人员luca020400所发现的那样,Project Treble团队的Google软件工程师Yifan Hong 向AOSP Gerrit提交了一项名为“ 在R发射时需要虚拟A / B ”的承诺。提交将更新供应商测试套件(VTS),这是一项自动测试,必须通过所有设备才能将其视为与Project Treble兼容。新测试将检查系统属性“ ro.virtual_ab.enabled”是否设置为true,以及“ro.virtual_ab.retrofit在API等级为30或更高的设备上将设置为false。换句话说,此测试检查使用Android 11或更高版本启动的设备是否支持虚拟A / B分区。Android 10引入了“虚拟” A / B分区以及“动态分区”,后者是可动态调整大小的分区。除了可以自由调整大小外,它们与常规A / B分区的概念相同。

免责声明:本文由用户上传,如有侵权请联系删除!