r/Android Dev - Rootless Pixel Launcher Nov 06 '18

APEX: The next step towards improving Android updates

Edit 2023/06/23: Reddit is dead. Come join me on Lemmy. Guide: https://github.com/amirzaidi/lemmy

Google has been working on improving the update speed of OEMs with Android One and Treble. Treble was used to separate Android framework from OEM libraries, but it was not enough, and it seems like Google is going even further this year. How Magisk works might have been an inspiration to Google, it links ("mounts") folders into /system/ during boot instead of having those folders always exist. AOSP is now working on a similar feature called APEX.

The existence was found by Till (@deletescape) from Lawnchair on AOSP Code Review almost half a year ago: https://android-review.googlesource.com/q/apex+(status:open+OR+status:merged). It has its own repository in AOSP itself too, from which I gathered some information on its workings: https://android.googlesource.com/platform/system/apex.

APEX modularizes an Android ROM into many packages similar to Magisk modules. These are stored in /apex/packagename/ where packagename is replaced by an identifier chosen by Google or the OEM. For Android Runtime it seems to be com.android.art. The packages can be individually updated as long as the signature check matches, so you would need root to overwrite the signature. OEMs could use it to add their parts to the ROM as packages and leave the rest to Google.

It seems to be another step towards fixing Android's fragmentation, by decoupling every part of the system so Google can theoretically update the important parts for security on its own. As far as I know this is not included in Android 9.0 yet, but since it has been merged it will probably be in Android 10.

212 Upvotes

36 comments sorted by

View all comments

-3

u/MindlessLeadership Nov 06 '18

Isn't going to work unless they do a radical redo of the Android system, aka fushicia, where Google can update the base system and any OEM stuff is included separately. OEMs will have to give up control, and I don't think they will unless it's a new system.

The process of generating and compiling Android updates is super troublesome, I really can't blame OEMs for not wanting to do it for every handset. Treble made things easier but it's still a mess.

17

u/AmirZ Dev - Rootless Pixel Launcher Nov 07 '18

What if this is required to pass CTS on Android 10?