You need an "app" for everything, they can hardly interact with each other, they can get killed at any time, and without rooting (which is subverting how the system is meant to be used) all sorts of things are crippled (from filesystem access, to using a firewall, to freaking setting a different volume for every app).
And the limitations increase with every Android release
Killing stuff from time to time is literally an advantage for a system - look at the battery life of a linux desktop or a pinephone. You have to make apps ready for a possible suspension, otherwise they just keep on draining the battery. Besides, services can be called from an active activity, or binded by one and then they will not be killed under normal circumstances.
I don’t want a random app to read my browser caches/ssh keys, etc, but if you like any random repo you download having access to your personal files, you do you.
Intents are only standardized for a few categories, they're slow (you routinely have to wait for the app chooser to load and scroll to the app you want) and not scriptable.
And the calling app can very well be killed by the loading of the called one.
> Killing stuff from time to time is literally an advantage for a system
Killing stuff that I want to have running is literally maddening. Ever wanted to have music in the background, and to not have the player killed at random times? Or, to have files moved in the background (with the painfully slow SAF) without them getting randomly corrupted? Or any other thing you'd need to go on while you check out something else?
> You have to make apps ready for a possible suspension
After 15 years the apps that do that reliably, whatever they're doing, are still exceedingly rare; not surprisingly, since software has never been developed in that way, doing it would require constant writing to the persistent storage, and even Android itself provides few facilities to make it more feasible. And even when that's done correctly, getting back to the saved state often takes time.
> I don’t want a random app to read my browser caches/ssh keys
I want a specific app to read my browser cache/ssh keys or any other file if I need it to. And yes, I'd like to limit an app's access to what it needs, but on Android it's either all (shared storage) or nothing. File providers? Yeah, except that it requires the app that has the file to offer them, and very few do.
And one app I'd like to allow access to everything is a backup app; but no, to protect me Google requires me to upload everything to its servers (for what it even allows to be backup up).
And thankfully I can't use SD cards in any meaningful way, to protect me from myself.
For Android security means protecting the apps from the phone's owner, rather than the other way around
Desktops generally don't have a battery. My laptops have perfectly good battery running assorted Linux distros. The pinephone sucks but mostly for hardware reasons; I suspect you would find Android on that hardware to also suck.
> I don’t want a random app to read my browser caches/ssh keys, etc, but if you like any random repo you download having access to your personal files, you do you.
If you must download random untrusted code and execute it, then you should run it inside bubblewrap/firejail/docker.