Project Mainline: How Much Further Do We Want to Get Stuck in Google's Ecosystem Anyway?

Search This thread
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:
  1. 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?
  2. 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?
  3. 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:
  • Like
Reactions: Frivolous2

Oswald Boelcke

Senior Moderator / Moderator Committee
Staff member
Moved to that forum but your other two duplicate threads have been deleted. Please respect rule no. 5 of the forum rules. Thanks for your cooperation.

Regards
Oswald Boelcke

Thanks and sorry for the mistake! One of the other ones was not a duplicate though. It was about a different subject on Project Mainline . But no worries I'll post it again.

BTW, maybe a section of this forum category is even better to put this: https://xdaforums.com/c/android-development-and-hacking.564/ But I did not find this category through the main page. Any idea how I should end up there, coming from the main page?
 

Oswald Boelcke

Senior Moderator / Moderator Committee
Staff member
Thanks and sorry for the mistake! One of the other ones was not a duplicate though. It was about a different subject on Project Mainline . But no worries I'll post it again.

BTW, maybe a section of this forum category is even better to put this: https://xdaforums.com/c/android-development-and-hacking.564/ But I did not find this category through the main page. Any idea how I should end up there, coming from the main page?
You find "Android Development and Hacking" via this one:
Screenshot 2021-11-23 143943.png
Just let me know if you like this thread to be moved and to where. However, you can also report your thread with such a request.

By the way: What do you call the "mainpage"?
 
You find "Android Development and Hacking" via this one:
Just let me know if you like this thread to be moved and to where. However, you can also report your thread with such a request.

By the way: What do you call the "mainpage"?
I see this as the main forum page: https://xdaforums.com, since you get there by choosing "Forum Home" at https://www.xda-developers.com/.

Anyway, I saw that Android Development and Hacking is part of General Development. However, I don't see how to get to the latter via the main page or any other forum page (without search or going via another thread). Am I missing something?
 

Oswald Boelcke

Senior Moderator / Moderator Committee
Staff member
I see this as the main forum page: https://xdaforums.com, since you get there by choosing "Forum Home" at https://www.xda-developers.com/.

Anyway, I saw that Android Development and Hacking is part of General Development. However, I don't see how to get to the latter via the main page or any other forum page (without search or going via another thread). Am I missing something?
Ah, I see... If you're on the main forum page, click on "Manufactures" in the top row.
Screenshot 2021-11-23 155219.png
Scroll down (all tiles are in alphabetical order except for the first 5 ones at the to top) until you find "General Development".
Screenshot 2021-11-23 155535.png
I concur the name is misleading but that needs to be discussed with the administrators.
 
Ah, I see... If you're on the main forum page, click on "Manufactures" in the top row.
Scroll down (all tiles are in alphabetical order except for the first 5 ones at the to top) until you find "General Development".
I concur the name is misleading but that needs to be discussed with the administrators.
Thanks for clearing that up! Makes no sense indeed to go there via Manufacturers. Maybe those sub-forums in General Development would be easier to find when they were under the General topics for example: https://xdaforums.com/c/general-discussion.240/

Anyway, I see that there is a specific Treble forum. Now I don't really know if Project Mainline is officially part of Treble, but it still is part of the same concept where the base OS is separated to reduce fragmentation and make updating easier. So I would be okay with putting this topic there. Hopefully people will find my topic. ;-)

Now let's hear it for the insights into the subject of this topic. (I know this might take a while for someone to read this, since a thread like this quickly gets past the first page in the forum overview. I just hope someone who arrives via search can share their opinion.)
 

Oswald Boelcke

Senior Moderator / Moderator Committee
Staff member

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    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:
    1. 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?
    2. 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?
    3. 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.
    1
    Moved as requested. However, somehow I doubt that I lost something. I think it's the first time that you requested the thread to be moved to that forum.

    Regards
    Oswald Boelcke
    Indeed, I guess my previous post wasn't really a clear request. Thanks!