Read an article from Spotify where they measure app size right in MRs.
The approach, though not new, is very cool and reasonable. They use some 3rd party thing emerge. I haven't figured out yet how these guys make money and honestly, I would be scared. Especially since besides the bundle they also offer to upload the R8 mapping.
We currently run a pipeline once a week on the main branch and bundletool get-size total just returns min/max of the final apk. This is quite enough for now to react to some spike before release.
But I want to record another thought here. You can smear CI with as many checks as you want so that an extra three hundred kilobytes don't get into the release, until a task comes from business to integrate some third-party solution to yourself.
In general, all troubles are from integrations. This can be a library that was written in a neighboring department, this can be an SDK that was bought from someone to "save" on development, this can be a piece of someone else's app on Flutter, doesn't matter, the result is almost always the same.
Not only can the size grow x2 easily there, the overall complexity grows in geometric progression, and there's less flexibility. Naturally, the consequences depend on the quality of the solution, but practice shows that guys from Google are unlikely sitting in the neighboring department, they wrote as they could. And, as we understand, even if guys from Google are there, this doesn't help the matter.
And you seem to resist, argue something, but in the end you compromise and you throw hacks on everything on your side, because you understand that on that side no one will do anything in the coming years, and you want to see some progress. In the end, everyone is just ok with this, because when you continue to eat this cactus, it justifies your past decisions.
The bigger the company, the more stable the app in its market, the more they love this. Hence we have some Sberbanks and Facebooks at a gigabyte in installed form.