The problem GP is pointing at is that uninstalling an unwanted app shouldn't be hard like that.
For a programmer sitting in front of a desktop that already has Linux on it, following those instructions would take less than five minutes. Easy.
For a typical Android user, they wouldn't know what they were looking at even if they had a Linux machine, which they don't. And would then get turned around by a simple typo like "apt-get-install" instead of "apt-get install" if they even make the attempt.
But because it's already "easy" for the people with the expertise to make it easier, the only people who could solve the problem are the people not experiencing it.
Its more that companies provide some hard to use escape hatch for their anti features which silences all criticism "You just run this command" while still keeping it out of the hands of the normal user. The problem has already been solved, you don't have to run abd to remove apps on android, unless the app is specifically preventing you from using this feature.
https://github.com/A2L5E0X1/debloat-adb
Sometimes the scripts on xda-developers come bundled with an older adb version specifically because they don't expect people to know how to install it themselves.
Although, on a second thought if a user then decides to run the `debloat-google.sh` without knowing what he does the user might end up quite frustrated as a result. So I guess you're right.
I think google has been gradually restricting what adb is able to do.
This command does not however always work (or at least wouldn't for some bundled software in older Androids).
Who writes makefiles such that 'make install' doesn't have 'all' (or whatever the default target is) as a dependency? It's even mean these days not to automatically configure with the default options if no configuration has previously been specified.
Thus grandma should really only have to do the much simpler
(mkdir /tmp/granny; cd /tmp/granny; curl https://my.example.com/download/latest.gz|tar xfpBz - ; cd * ; make install)How has she made it this far in life?
And this is even worse with brands like Oppo. They have good hardware but so much crap wasting battery and cpu running on by default which cannot be disabled or uninstalled.
I was able to disable/uninstall with adb a lot of it but with every "Security update" it gets right back on the phone and then I have to do it all over again (SOs phone). Also it's getting more and more restrictive and even adb fails on half of these apps like Game center, etc nowadays :/
On the other hand clearly carriers and vendors loading up their products with crapware and junk is a serious problem. Lets be clear though, this is about poor judgement, bad execution and incentives that are severely miss-aligned between vendor and customer. It's not fundamentally a technical issue.
> any app
I was not able to uninstall the Samsung Pay Framework (com.samsung.android.spayfw) with this method; it hangs forever. Trying to uninstall via the gui tells me that it cannot be uninstalled since it is required by the device administrator. Going to the device administrator screen shows nothing enabled, so I cannot disable whatever is preventing the uninstall.
Instead I'm inundated with societal shit: amber and silver alerts at 2am (yes I have been woken up when my phone was on silent in the middle of the fucking night. What the fuck am I going to do while I'm boondocking in the middle of the ari-fucking-zona desert to help a child abducted by a dad at 2 am in the state of Washington - but the parent's are originally from Phoenix?)
I'm so damn sick of Android.
As another comment mentioned, you can disable them for the single user over adb. On my sony phone you can disable OEM apps the same place you'd normally uninstall them in the GUI.
It took some clicking (tapping?), but I disabled a bunch of cruft 2 years ago when I bought the phone and haven't had any issues.
adb shell pm disable-user --user 0 com.samsung.android.email.provider