Android 7.0 无缝升级介绍

Android 7.0 引入了无缝更新功能,借鉴了Chrome OS的后台下载更新模式。更新时,系统在后台下载并更新非活动分区,重启后切换分区,大大减少了设备停机时间。该过程依赖于设备的双系统分区,如果更新失败,系统能够回滚到未受影响的分区。然而,旧款设备由于技术限制,不支持无缝更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android N 无缝升级

 

    Android M之前的更新是下载Android系统更新,手机重新启动以及应用更新的情况。在这段短暂的时间内,设备将无法使用,直到更新完成。但在Android7.0 Nougat,改变这个方式。 Nougat带来新的“无缝更新”,使升级系统软件更方便的过程。

 

    Google借用了Chrome操作系统的“无缝更新”概念。在Chromebook中,更新通常是在后台下载。一旦准备就绪,系统将提示用户重新启动设备,以完成安装过程。这只是一个快速重新启动,整个升级过程结束了 - 无需等待安装或优化或任何其他类型的延迟,浪费不必要的时间。

 

    Android 7.0开始,这是方向更新将采取。为了“无缝更新”方法工作,需要两个系统分区。目前几乎所有的Android手机在市场上有一个单一的分区。

想象它这样 - 有一个活动的系统分区和另一个休眠的。这两个是彼此的镜子。当OTA更新可用时,它在活动分区中下载,但在休眠分区中更新。稍后单次重新启动,并将休眠分区翻转为活动分区。因此,以前活动分区现在采取“休眠分区”的状态。

 

    主要优点是,这种“无缝更新”方法使系统更新速度更快。更重要的是,还有一些备份系统。 Android系统可以在启动期间检测错误,并回到未受影响的系统分区。一旦设备再次成为一个设备,它可以重新ping下载服务器,并再次获得下载,重新应用更新和重新启动,包装整个过程。这是近乎革命性的,特别是与当前系统处理更新的灾难性的 - 与许多Android开发工具,用户交互等。

 

怎么运行的

 

    无缝更新通过在设备存储中创建第二组逻辑分区来实现。 Android在大多数地方称之为“插槽”。在引导序列开始时,引导加载程序标志指示设备哪个插槽是活动的。一个相关的例外是/ userdata分区,其中包含下载的应用程序,他们存储的任何数据,以及您的个人数据和设置。只有一个版本的分区和每个插槽使用它自由。

 

OTA更新下载到设备时,操作系统会在后台静静工作,将每个分区的更新版本写入非活动插槽。一旦完成,引导加载程序标志被翻转,让设备在下次重新启动时启动新更新的插槽。

 

在槽不能引导的情况下,至少在像素的情况下,它将进行几次尝试,并最终重新启动进入另一个槽。

 

有趣的副作用

 

如果熟悉以前的Android版本,会发现Google分区表和工厂映像有一些有趣的更改。新系统还有一些限制,有些原因我们不太可能将这些功能移植到旧设备。如果你不关心实现细节,请随时跳过本节的其余部分,查看新的fastboot命令的指南。

 

一些分区正在消失:

 

    在支持无缝更新的设备上,Android在写入更新的分区时基本上使OTAs滑流,这意味着它可以在不首先创建副本的情况下合并更改。该系统的优点是它不需要专用高速缓存分区。同样,恢复分区变得很大程度上冗余。历史上,库存恢复映像用于安装OTA包,执行工厂重置和擦除缓存分区。安装OTAs现在由操作系统处理,并且不再需要擦除缓存分区,因此recovery分区也被删除。由于执行工厂重置的能力仍然很重要,Android团队仍然希望允许侧载OTAs,因此功能上类似的恢复功能已集成到boot映像中。

 

旧设备不支持无缝更新:

 

    多名Google员工已确认,以前发布的Nexus设备不会更新,以支持无缝更新。此外,它不太可能任何其他设备将获得此功能。原因是相当明显的 - 它需要重大的存储分区。该过程在技术上将难以实现并且非常容易出错,可能导致显着的数据丢失或甚至是块状设备。

从技术上讲,老设备不可能通过使用自定义固件进行无缝更新,但可能性很低。这是因为无缝更新依赖于了解如何使用双插槽的引导加载程序。由于bootloader很少有开源和定制修改是困难的,社区支持将受到限制,这种类型的项目将是相当不实际的(但不是不可能的)。

无缝更新系统的当前性质仅旨在一次具有单个可用插槽,然后在更新期间覆盖不活动插槽。当没有写入更新时,非活动插槽可以包含完全可引导且可用的Android版本。对于开发人员,这使得可以闪存和运行旧版本的操作系统(虽然可能有复杂的共享/数据分区),在一个插槽运行Android的根版本,而另一个保留股票,甚至双引导自定义构建。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值