The Android Playground exhibit at Google I/O 2019 had plenty to show off: Android TV boxes playing games, improvements to Android Studio, all the latest Wear OS watches, and more. In one corner of the area, Google was showing off an experimental feature that doesn't even have a final name — and it might make developer's lives (and my life) much easier.
Every time an Android beta release comes out, at least a few of us here at Android Police have to sacrifice our Pixels. Even if you keep user data in the upgrade, you're still left with an in-development operating system with at least some partially-broken components. To make matters worse, this process is only reversible by completely wiping your phone.
This process is just as much a pain for developers as it is for us. Not everyone has spare $600+ phones they can afford to flash an experimental operating system on, and not all testing can be done from the Android Studio Emulator. Google's solution is to let developers temporarily boot into different system images, without affecting the installed operating system.
This process will no doubt sound familiar to those of you who have used Linux. Most Linux distributions offer bootable images that can be flashed to a USB drive or burned to a CD/DVD. When the computer boots from the Linux drive, a complete desktop environment is present, allowing the user to easily test applications and perform other tasks. Nothing is installed to the computer's internal drive, and all data is deleted when Linux shuts down.
This process will sound familiar to those of you who have used Linux.
Android Q will include similar functionality, which is currently being called 'Dynamic System Updates' (though 'Live Images' and 'Dynamic Android' were also being used to refer to it). A temporary system partition is created, and an alternative Generic System Image (GSI) can be installed to it. A notification appears when the process is done, and tapping it reboots the phone into the GSI. When you're done, simply reboot the phone, and you're returned to your phone's regular build of Android.
The Pixel 3 XL on the left was booted into a plain AOSP build of Android
Google representatives at the event strongly expressed that this feature isn't intended for end users, but it could be great for developers. In addition to testing beta builds, representatives also explained that it could be used to test plain AOSP on Pixel phones. The feature also works on devices with locked bootloaders, removing another possible pain point for developers.
It's interesting to see Google experiment with multi-boot on Android, even if secondary images won't be able to retain any permanent data. I look forward to not being stuck with a buggy Pixel once the Android R Beta rolls around.