OTA 更新

外场 Android 设备可以接收和安装针对系统、应用软件和时区规则的无线下载 (OTA) 更新。本节介绍了更新软件包的结构以及用于构建这些软件包的工具。本节的目标读者是想要在新 Android 设备上实现 OTA 更新的开发者,以及想要为已发布的设备构建更新软件包的开发者。

OTA 更新旨在升级底层操作系统、安装在系统分区上的只读应用以及时区规则;这些更新会影响用户从 Google Play 安装的应用。

Virtual A/B(无缝)系统更新

新式 Android 设备(Android 11 及更高版本)在更新期间维护每个分区的两个副本(A 和 B)。此更新机制称为采用压缩的 Virtual A/B。虽然旧版 A/B 更新(Android 10 及更低版本)为每个分区保留了两个副本,但 Virtual A/B 仅为启动关键分区保留了两个物理插槽。未使用的插槽直接写入启动关键分区。动态分区的新操作系统数据以压缩快照的形式写入,因为它们的映像大小往往要大得多。压缩快照允许设备模拟拥有两个插槽的体验,同时减少空间需求。如需详细了解 Virtual A/B OTA 更新,请参阅Virtual A/B(无缝)系统更新。如需查看提供有关使用 Android 系统更新 API(即 update_engine)安装 A/B 更新的示例应用,请参阅 SystemUpdaterSample(应用详情请见 updater_sample/README.md)。

旧版 A/B 更新和非 A/B 系统更新

旧版 A/B 更新是 Android 中 A/B 更新的第一个版本。此更新机制为每个分区保留了两个插槽,但缺点是每个分区需要两倍的存储空间。如需了解详情,请参阅A/B 系统更新。从 Android 15 开始,非 A/B 更新已弃用。如需了解详情,请参阅非 A/B 系统更新

时区规则更新

从 Android 8.1 开始,OEM 可以将更新后的时区规则数据推送到设备,而无需系统更新。此机制使用户能够及时收到更新(从而延长 Android 设备的有效使用寿命),并使 OEM 能够独立于系统映像更新来测试时区更新。如需了解详情,请参阅时区规则