We are in July of 2019 and already seen few leaks of Android Q beta 5 with August 5 security patch ( it’s Google, they can give anything ) running on a Pixel 3 XL. We are a couple of months away from it’s official release. Compared to Android Pie , Q comes with many changes under the hood, both system and software based.
FYI , the 2019 Google I/O was all about Android Q and Project Mainline, which is a major milestone Google achieved after project treble. Mainline’s goal is to enable Google (and sometimes OEM’s) to directly update core parts of the OS without pushing out a whole system update. If that sounds technical and challenging, well, it is. Last beta had glimpse of project Mainline and dynamic system updates even helps to run a pure Aosp build on a Q device without unlocking bootloader and Wiping the device data- see innovation at it’s peak.
Dynamic System Update is not a launch requirement, but, if enabled, it does not need the device to be unlocked. That’s kind of the point of it. Some people identify this as the base for ultimate Android custom development actually. What Google days about Dynamic updates is interesting: “We don’t want people to get stuck in this.” So if you reboot your device, it will go back to your factory OS. We don’t want people to get stuck in this. But, you can toggle a flag—it would be in ADB—that will allow you to reboot into the GSI. The flag is ephemeral, so you have to keep toggling the flag to keep rebooting to the GSI. You could set up your account and everything, and your data is just in its own little island. There’s no cross talk between the two.
How this really affect all devices launching with Android Q out of the box ? Here’s what A Google engineer says- “one of the other Q launch requirements that are meant to make updates easier is dynamic partitions. It’s unrelated to this, but we reuse the same mechanism. Dynamic partitions allow you to resize partitions with an OTA without risking sudden death and messing up the partition table”. So that’s it .. Google wants OEM to use a dynamic partition to make sure this works. ( Just like Google made vendor image separation mandatory For Android 8.0 or higher for project treble.) So this marks an end to system r/w partition we usually see on all devices. it’s a challenge to pick a partition split that gives the user enough storage to work with while still having a large enough system partition for the OS and any future OS updates. So it’s hardly impossible for a 16/32 GB device to achieve it. Resizable partitions would mean manufacturers wouldn’t have to worry about reserving system space for future updates. They could give users as large of a data partition as possible at launch, and then later down the line could resize the system partition for future updates if needed.
So this , in a way , marks an end to custom Android development or to the custom rom community as we have to remap and resize partitions. Seems like Google indirectly wants us to use unaltered version of Android.. yeah in a way I say it’s possible now – we have a way to test GSI, has a built in dark theme ( finally), Better control over permissions . Iam not sure how people will react to this and even developers will come on this . This will be a new era if things all go well. So it’s almost RIP to custom recovery, kernel and rom of our interest.
( I wrote this article in light of John Wu’s ( the same magisk developer) tweet which pointed out the same (Google even made rooting hard on Q, but John did it without breaking cts and SePolicy )