There probably should be some apps marked non-removable, because they would break core functionality of the phone, and even if they are made re-installable via Play Store [many of them aren't], would generate tons of complaints and support calls from confused users who uninstalled by mistake.
The problem seems to be that OEMs mark apps as non-removable when they don't fit that category. And even google does this. [eg. Looking on my phone I was not able to remove Google News, only "disable" it.]
And also on Android, you can install multiple dialers, multiple SMS apps, etc., so maybe you should be able to get rid of the stock one if you have a replacement.
Android mostly fixed this ages ago. You can "disable" non removable apps which makes them go away from the app list and hopefully prevents them running in the background.
That is not at all fixing the problem. The problem is disk space. There are cost conscious markets (the same places where a microSD slot is mandatory -- so Google has already decided they are not relevant for its devices) that care a lot about disk space. Huge numbers of users in those markets.
Hm, if a phone is to support a factory reset feature at all, everything it's bundled with needs to be there somewhere in read-only memory.
And everything I've read says that disabling an app and removing updates removes it from everywhere _except_ read-only memory.
I don't think there's any other way to do this at all, unless you want to give up on having a factory reset feature entirely. I think the only problem is that Android doesn't just call it "uninstall" and hide it better.
One option is to require an internet connection for the factory reset process.
One could imagine a setup where the system is rebooted into some kind of safe mode where only manufacturer-signed packages are executed, all other packages are deleted, and then any uninstalled original packages are re-downloaded from a manufacturer designated server, or even peer-to-peer to save internet bandwidth.
Considering the rare use of the factory reset process, and the large cost associated with exabytes of flash memory across all devices worldwide, this seems a worthy tradeoff.
Thats why I say mostly. I totally understand wanting them entirely gone but for most users you can do the next best thing and the space is not a huge issue.
for better or worse, they are on the read-only partition, meaning removing them would change the checksum and result in the system partition failing signature validation at boot. Disabling is the best we will get as long as this practice continues.
But if an OEM does this to a lot of apps, that adds up and it's a lot of disk space the customer paid for, purchased, and cannot use.
I apologize for being blunt, but yours seems like a very lame technical excuse to justify existing behavior, at cost to customer experience. They could just as well put it somewhere where it's (1) still signed and (2) doesn't affect the signature of the base OS.
And even ignoring any potential checksum issues, uninstalling that kind of apps consequently only frees up space on the system partition, where it is of little value to the average user.
I'm thinking of: dialer app, SMS app, contacts app, settings app.
The problem seems to be that OEMs mark apps as non-removable when they don't fit that category. And even google does this. [eg. Looking on my phone I was not able to remove Google News, only "disable" it.]
And also on Android, you can install multiple dialers, multiple SMS apps, etc., so maybe you should be able to get rid of the stock one if you have a replacement.