News for hackers. Stuff that matters.
Re:Samsung Phone Users Perturbed to Find They Can't Delete F... by vetinari on Wednesday January 09, 2019 @11:57AM (#18866322)
> Why does Android have undeletable apps anyway?

It was explained only zillion times, but I will try one more:

In android, you have storage in two partitions: /system and /data.

/system is read-only, this is where anything that is shipped with phone is stored. Outside of system updates, it is not being touched.

/data is, where user data, installed applications, configuration, etc. is stored.

To factory reset the phone, you just wipe the /data. No separate partition for factory reset is necessary, because /system due to its immutability doubles as one. Anything you configure/change/etc is stored on /data. If you disable any bundled app, whether through gui or adb, the info that you disabled it is written into /data.

Once you want to sell your phone on craiglist, you wipe /data and the buyer gets exactly the same software you originally got.

There is also secondary use of the immutability: android system is distributed as partition image, not as a file archive. That means, that the physical fs layout is same for all devices of the same SKU, can be signed (dm-verity), and then verified at boot, whether the filesystem was modified or not. This is being used for ensuring secure boot, and unsealing secrets in trusted environment.

Re:Samsung Phone Users Perturbed to Find They Can't Delete F... by untog on Wednesday January 09, 2019 @01:22PM (#18867197)
What you're saying is that Android has undeletable apps because Android was created in such a way that it allows undeletable apps. Which is circular logic.

And the issue here is pretty clearly that users have to resort to adb to disable these apps. Why does Android force this? There is no reason, it could easily be built into the Android GUI.

Re:Samsung Phone Users Perturbed to Find They Can't Delete F... by dragonwriter on Wednesday January 09, 2019 @01:38PM (#18867370)
> And the issue here is pretty clearly that users have to resort to adb to disable these apps

No, you can disable (not delete or uninstall) nondeletable (system) apps on Android without adb. adb also lets you “uninstall” them for a given user (but not from the device), which makes them less visible to the user than disabled apps, but it's not clear to me that it does anything substantively different, since neither disabled nor uninstalled-for-current-user apps run.

> Why does Android force this? There is no reason, it could easily be built into the Android GUI.

The only difference I am aware of between disabling through the GUI and uninstalling for a particular user with adb is that the former allows you to reenable through the UI if you later choose to, whereas the latter removes it from the All Apps list in Settings, making it invisible from the UI and impossible to enable.

Requiring the latter to require the user to use the same tool necessary to reverse the process makes it less likely that users will accidentally do something that the same user can't reverse if they change their mind.

Re:Samsung Phone Users Perturbed to Find They Can't Delete F... by vetinari on Wednesday January 09, 2019 @02:55PM (#18868198)
If you are so much bothered by Android design, adjust your POV slightly: consider /system to be recovery partition (you cannot delete anything from any recovery partion of any system, so Android is no exception here) that shares data blocks with main system, created at boot in RAM. Because that it effectively is.

You don't have to resort to ADB to disable these apps for the most part; You can do it in Settings. For some apps you cannot do that in GUI - for Settings itself, for example, so the users don't shoot themselves in the foot. Unfortunately, some manufacturers abuse this and mark as undisable-able apps, that they shouldn't. Over ADB, they can't disable it, so it works for any app, including Settings.

Re:Samsung Phone Users Perturbed to Find They Can't Delete F... by Rebelgecko on Wednesday January 09, 2019 @02:03PM (#18867684)
I'm assuming it's to avoid a situation where Grandma accidentally deletes her web browser and the Play Store and doesn't know how to unbrick her phone.