OTA Updates

Android devices in the field can receive and install over-the-air (OTA) updates to the system and application software. This section describes the structure of the update packages and the tools provided to build them. It is intended for developers who want to make the OTA update system work on new Android devices and those who are building update packages for use with released devices. OTA updates are designed to upgrade the underlying operating system and the read-only apps installed on the system partition; these updates do not affect applications installed by the user from Google Play.

The Android Open Source Project (AOSP) includes a SystemUpdaterSample app that gives examples on how to use Android system update APIs to install OTA updates. The sample app is an example on how to use update_engine for A/B updates. For more information, see updater_sample/README.md.

A/B (seamless) system updates

Modern A/B devices have two copies of each partition, A and B. Devices apply the update to the currently unused partition while the system is running but idle. A/B devices do not need space to download the update package because they can apply the update as they read it from the network. This is called streaming A/B. A/B updates are also known as seamless updates. For more information about OTA updates for A/B devices, see A/B (Seamless) System Updates .

Non-A/B system updates

Older devices have a special recovery partition containing the software needed to unpack a downloaded update package and apply the update to the other partitions. For more information, see Non-A/B System Updates .