Android Nougat introduced support for seamless updates with the A/B partition system. Devices that support the new partition system have two sets of partitions, a_slot and b_slot. The term “seamless updates” is used because all updates are now downloaded to the inactive slot. When a user reboots to finish installing, the device seamlessly switches over to the inactive slot, thereby eliminating downtime. User data is shared between the partitions.
A/B partitions have their set of advantages and disadvantages. The first advantage here is that if an update is not installed properly, the device can simply switch to the other slot (for example, if the update is being installed in the background to the b_slot, then the device will switch back to the a_slot) and boot errors will be avoided. The second advantage is that users no longer see the “Android is upgrading…” screen. When the update has finished installing, the device reboots normally.
On the other hand, the A/B partition system has significant disadvantages. It increases the used storage space of a device because there are now two sets of partitions. The storage increase may not be major on devices having a large amount of internal storage, but it exists. The more major problem here is that A/B partitions have proved to be an impediment to development for several devices, including the first-generation Google Pixels, the Moto Z2 Force, and the Xiaomi Mi A1.
As of now, few Android device makers have opted to use the A/B partition system. Apart from Google’s first and second-generation Pixels, examples of devices using the partition system include the Moto Z2 Force, the Essential Phone, and the Xiaomi Mi A1.
Users can easily check whether their Android device supports seamless updates by running the following command in ADB shell:
getprop ro.boot.slot_suffix
If there is no output, the device does not have the A/B partition system. On the other hand, if a string is displayed (such as _a or _b), then it does support seamless updates. Alternatively, you can also check
getprop ro.build.ab_update
which returns true if the device supports dual partitions.
Lastly, you can also use the Treble Check app on the Google Play Store. Apart from informing users about whether Project Treble is supported or not, the app also informs users whether their device has the A-only system partition or the A/B partition system used for seamless updates.