Project Mainline consists of modularising system components in updatable packages, APEX files. Updating uses a versioning system where new APEX files are presented to the user as "Google Play System Updates". These files are updated in much the same way as APKs. More information is in the official Android documentation. In essence, this is a good thing: we can have centralised, consistent and more frequent and timely updates. However, maybe we should think a bit further than that.
The future of Android/AOSP definitely lies in the further development of Project Mainline, so it's worth to talk about future development, and what this means for us, Android custom ROM users and developers. After all, we can only guess how Google is going to use the project to further strengthen their grip on the Android OS. For example, Google Play System Updates encompass increasingly larger parts of the OS as more and more packages are modularised and updated through Google Play.
This can mean lots of things. For example, Google may withhold some functionality and keep updates closed source as an APEX update only. They can also simply lower the frequency of normal source dumps (e.g. for security updates) and provide them mostly or exclusively through the Google Play update system instead. This will drive people even more towards using Google Play Services and thereby Google products. If users do not install the Google framework on their Android (AOSP) system they are then left in the cold, functionality-and update-wise. In effect, Google's products become more or less enforced. The question is to what extent that is desirable.
As Project Treble has started moving us to a uniform ROM base for all AOSP-based OSes (in the form of a Generic System Image, or GSI) the device specific ROM-developer will become more rare. Larger OS projects however, such as LineageOS, may also want to set up their own APEX update variant of the Google Play System Update method (next to their OTA system). Because as much as it is nice to have more frequent updates, provided by Google, it would be even nicer if Android (AOSP) based OS/ROM developers could also benefit from this scheme outside of Google's ecosystem and update APEX files themselves through their servers. However, when Google Apps and thereby the whole Google Play update framework is not installed, we have to cope with the reality of the aforementioned scenarios. That is, if Google's APEX updates or the source code dumps thereof are infrequent, or licensing forbids updating without Play Services, OS makers other than those in Google's alliance will always be left behind with their updates, with the decision left at Google for how many days, weeks or even months.
Also, even though I think in essence Project Mainline has merits, another simple drawback (be it somewhat minor compared to the above) is that it takes more storage space, which may be a problem on older devices.
It is mainly for these reasons that I would like to have a discussion about the necessity of using the APEX update system for custom ROMs and its use in the development community. To streamline the discussion, let's talk about the following:
Edit: To mod: I actually wanted to put this thread in https://xdaforums.com/f/general-topics.256/, which I did so if you want you can remove this one.
The future of Android/AOSP definitely lies in the further development of Project Mainline, so it's worth to talk about future development, and what this means for us, Android custom ROM users and developers. After all, we can only guess how Google is going to use the project to further strengthen their grip on the Android OS. For example, Google Play System Updates encompass increasingly larger parts of the OS as more and more packages are modularised and updated through Google Play.
This can mean lots of things. For example, Google may withhold some functionality and keep updates closed source as an APEX update only. They can also simply lower the frequency of normal source dumps (e.g. for security updates) and provide them mostly or exclusively through the Google Play update system instead. This will drive people even more towards using Google Play Services and thereby Google products. If users do not install the Google framework on their Android (AOSP) system they are then left in the cold, functionality-and update-wise. In effect, Google's products become more or less enforced. The question is to what extent that is desirable.
As Project Treble has started moving us to a uniform ROM base for all AOSP-based OSes (in the form of a Generic System Image, or GSI) the device specific ROM-developer will become more rare. Larger OS projects however, such as LineageOS, may also want to set up their own APEX update variant of the Google Play System Update method (next to their OTA system). Because as much as it is nice to have more frequent updates, provided by Google, it would be even nicer if Android (AOSP) based OS/ROM developers could also benefit from this scheme outside of Google's ecosystem and update APEX files themselves through their servers. However, when Google Apps and thereby the whole Google Play update framework is not installed, we have to cope with the reality of the aforementioned scenarios. That is, if Google's APEX updates or the source code dumps thereof are infrequent, or licensing forbids updating without Play Services, OS makers other than those in Google's alliance will always be left behind with their updates, with the decision left at Google for how many days, weeks or even months.
Also, even though I think in essence Project Mainline has merits, another simple drawback (be it somewhat minor compared to the above) is that it takes more storage space, which may be a problem on older devices.
It is mainly for these reasons that I would like to have a discussion about the necessity of using the APEX update system for custom ROMs and its use in the development community. To streamline the discussion, let's talk about the following:
- As a user you can always choose not to install or use Google Play Services. But since many people do, how do you think this will increase Google's influence over AOSP?
- What do you think the future will be of APEX updates? Do you think Google will somehow enforce Google Play System Updates by only providing certain security and feature updates through APEX files, forcing users to use the Google update system, and leaving the open source Android ROM development community in the cold by withholding frequent updates for their ROMs?
- As a developer or experienced user, how do you think the open source Android development community should deal with the APEX system? Treble will free lots of developers from device-specific work, so do you think that means that more people will work more in teams in larger AOSP OS projects? Do you think these projects will implement their own APEX update method? Do you think this will help persuading people not to install Google apps and the Google Framework?
Edit: To mod: I actually wanted to put this thread in https://xdaforums.com/f/general-topics.256/, which I did so if you want you can remove this one.
Last edited: