本文为洛奇看世界(guyongqiangx)原创,转载请注明出处。
原文链接:https://blog.csdn.net/guyongqiangx/article/details/138849767
0. 背景
关于如何连续进行多个版本升级,这是一个很常见的需求,也是 OTA 讨论群里试不试就会讨论的一个话题。
例如,昨天一个小伙伴在群里问,他想连续升级两个版本,如何操作比较好。
这个问题非常典型。
这个场景一般来自测试对多版本连续升级的检查需求:
当前系统运行在 A 槽位(版本 v1),然后希望对 B 槽位进行连续多个版本的升级。
以升级两个版本 v2, v3 为例,希望先将 B 槽位升级到版本 v2,然后保持系统运行在 A 槽位,继续将 B 槽位版本从 v2 升级到 v3。
这个场景看起来很合理,但实际上没有必要。主要是不了解 Android A/B 系统的升级过程,才会提出这样的场景需求。
本文针对多版本连续升级的场景展开分析,详细讨论为什么多版本连续升级的场景没必要,以及跨多版本的情况下,到底是全量升级还是增量升级,对该如何评估进行介绍。
- 第 1 节简单总结全量升级和增量升级的原理和过程
- 第 2 节分析多版本连续升级不可能实现的原因
- 第 3 节提出如何选择跨版本的升级方式
核心代码