Bloatware is a type of software which is installed by the product vendor (like Samsung) on top of the Android operating system in your mobile phone. But do you need all this extra software? The name clarifies; it makes your mobile bloated. Much of the utilities and services installed on your phone are simply not required, and at times may be annoying or consuming a fair bit of battery. Uninstalling a lot of these may buy you an extra day or two of battery power.
Uninstalling bloatware is made possible via ADB – the Android Debug Bridge, which is included in the stock Android SDK (Software Development Kit) and is available as an easy install on most modern Linux distributions. Setting up ADB and configuring is not the focus of this article, and you can find detailed instructions on how to do so in our How to Use ADB Android Debug Bridge to Manage Your Android Mobile Phone article.
In this tutorial you will learn:
- How to remove bloatware from your Android mobile phone via ADB
- What is likely safe to remove, and where you may run into problems
- That bloatware cleanups are generally personal, tuned to your usage
Software requirements and conventions used
|Requirements, Conventions or Software Version Used
|Bash command line, Linux based system
|Any utility which is not included in the Bash shell by default can be installed using
sudo apt-get install utility-name (or
yum install for RedHat based systems)
|# – requires linux-commands to be executed with root privileges either directly as a root user or by use of
$ – requires linux-commands to be executed as a regular non-privileged user
If you have not setup ADB yet, please read our How to Use ADB Android Debug Bridge to Manage Your Android Mobile Phone article first.
Once ADB setup, either using a physical USB cable or connected via your wireless network, starting a remote screen session for your Android mobile phone is exceedingly simple. The way to connect depends on whether you are connected via USB cable or via wireless.
If you are connected via USB, simple execute:
$ adb devices List of devices attached UI84762QNI3 device $ adb shell z3s:/ $
The first command (
adb devices) shows us that a single device is connected via USB (otherwise an IP address and port number would be shown). The second command (
adb shell) brings us to the ADB shell, and it is from this ADB shell to your mobile phone that we can uninstall bloatware.
The Big Red Warning
As we alluded to in the How to Use ADB Android Debug Bridge to Manage Your Android Mobile Phone article, using ADB to remove bloatware is not without it’s risks. You may (and will if you proceed) directly and substantially affect the working of your phone, and if you are not careful or understand what you are doing, you may potentially render it unusable.
I have used this procedure personally for two modern Samsung pones (S8 and S20) without any problem whatsoever, except that Facebook does not work very well. This almost surely related to the uninstallation of 3 Facebook related services/programs, and as many people use Facebook, I will list these separately in this article. I will also highlight some items that you should not uninstall.
In summary, please use the procedures here at your own risk, and any and all information is provided as-is, without warranties of any kind. Now that you have been warned, let’s look at how to remove bloatware from your mobile phone if you like to proceed.
Android Application Hierarchy
Each application (and likely most services) in Android are organized in a reverse hierarchical naming structure. Think about it like linuxconfig.org being written as org.linuxconfig, easy to understand but it looks a little weird the first time you see it.
So for example, one part of the Samsung Bixby service is named ‘com.samsung.android.bixby.wakeup’ – i.e. the wake-up function for Bixby, in Android, in Samsung[.com]. So always read right to left if you are trying to understand what a particular service or application is or does. This reverse method is a fairly common practice in some other directory/tree based systems and software too.
To see what applications and services are currently installed on your phone, execute:
pm list packages at the ADB shell:
$ adb shell z3s:/ $ pm list packages package:com.samsung.android.provider.filterprovider package:com.samsung.android.app.galaxyfinder ...long list of packages...
We can uninstall some of these packages, but not all!. For example, some packages which should never be removed in my opinion are
com.google.android.tag, and there are likely many more.
So what packages to remove? It depends. The Internet is quite full of all sorts of lists. I have compiled from many of these a master list if you will of many things that I consider bloatware. Let’s discuss this next.
Cleaning up bloatware is a personal, custom to the user, experience. You may love Bixby. You may want to use full Facebook functionality, or really like full Google gaming experience. Thus, my master list of bloatware to remove is likely not your master list.
That said, you may rest assured that this master list was compiled from a good amount of resources online, often lists which were smaller or more limited. This list has also been researched to some extent, looking at what is safe and what is not. However, no guarantees are provided as stated earlier. Please do your own research.
What I would propose is to select only the packages you 1) recognize and 2) would like to remove. Copy and paste this master list, and edit it before you copy and paste your customized list to the ADB shell to execute it.
So without further ado, here is a master list of bloatware which I recommend to remove:
pm uninstall -k --user 0 com.samsung.android.bixby.agent pm uninstall -k --user 0 com.samsung.android.bixby.es.globalaction pm uninstall -k --user 0 com.samsung.android.bixby.wakeup pm uninstall -k --user 0 com.samsung.android.app.spage pm uninstall -k --user 0 com.samsung.android.visionintelligence pm uninstall -k --user 0 com.samsung.android.bixby.agent.dummy pm uninstall -k --user 0 samsung.android.app.settings.bixby pm uninstall -k --user 0 com.samsung.systemui.bixby2 pm uninstall -k --user 0 com.samsung.android.bixby.service pm uninstall -k --user 0 com.samsung.android.bixby.plmsync pm uninstall -k --user 0 com.samsung.android.bixby.voiceinput pm uninstall -k --user 0 com.samsung.android.bixby.wakeup pm uninstall -k --user 0 com.samsung.android.app.settings.bixby pm uninstall -k --user 0 com.samsung.android.bixbyvision.framework pm uninstall -k --user 0 com.samsung.android.app.routines pm uninstall -k --user 0 com.samsung.android.aremoji pm uninstall -k --user 0 flipboard.boxer.app pm uninstall -k --user 0 com.sec.android.mimage.avatarstickers pm uninstall -k --user 0 com.android.bips pm uninstall -k --user 0 com.google.android.printservice.recommendation pm uninstall -k --user 0 com.android.printspooler pm uninstall -k --user 0 com.samsung.android.email.provider pm uninstall -k --user 0 com.samsung.android.game.gamehome pm uninstall -k --user 0 com.enhance.gameservice pm uninstall -k --user 0 com.samsung.android.kidsinstaller pm uninstall -k --user 0 com.samsung.android.game.gamehome pm uninstall -k --user 0 com.samsung.android.game.gametools pm uninstall -k --user 0 com.samsung.android.game.gos pm uninstall -k --user 0 com.samsung.android.gametuner.thin pm uninstall -k --user 0 com.samsung.android.app.camera.sticker.facearavatar.preload pm uninstall -k --user 0 com.samsung.android.app.ledbackcover pm uninstall -k --user 0 com.sec.android.cover.ledcover pm uninstall -k --user 0 com.samsung.android.service.peoplestripe pm uninstall -k --user 0 com.microsoft.appmanager pm uninstall -k --user 0 com.microsoft.skydrive pm uninstall -k --user 0 com.microsoft.office.officehubrow pm uninstall -k --user 0 com.samsung.android.mateagent pm uninstall -k --user 0 com.samsung.android.app.watchmanager pm uninstall -k --user 0 com.samsung.android.app.watchmanagerstub pm uninstall -k --user 0 com.samsung.android.voc pm uninstall -k --user 0 com.samsung.sree pm uninstall -k --user 0 com.google.android.googlequicksearchbox pm uninstall -k --user 0 com.netflix.partner.activation pm uninstall -k --user 0 com.netflix.mediaclient pm uninstall -k --user 0 com.samsung.android.stickercenter pm uninstall -k --user 0 com.samsung.android.livestickers pm uninstall -k --user 0 com.samsung.svoice.sync pm uninstall -k --user 0 com.samsung.android.svoiceime pm uninstall -k --user 0 com.samsung.android.svoice pm uninstall -k --user 0 com.samsung.android.forest pm uninstall -k --user 0 com.sec.android.app.samsungapps pm uninstall -k --user 0 com.samsung.android.widgetapp.yahooedge.finance pm uninstall -k --user 0 com.samsung.android.widgetapp.yahooedge.sport pm uninstall -k --user 0 com.sec.android.widgetapp.easymodecontactswidget pm uninstall -k --user 0 com.sec.android.widgetapp.webmanual pm uninstall -k --user 0 com.yelp.android.samsungedge pm uninstall -k --user 0 com.samsung.android.app.sbrowseredge pm uninstall -k --user 0 com.cnn.mobile.android.phone.edgepanel pm uninstall -k --user 0 com.enhance.gameservice pm uninstall -k --user 0 com.dsi.ant.sample.acquirechannels pm uninstall -k --user 0 com.dsi.ant.service.socket pm uninstall -k --user 0 com.dsi.ant.server pm uninstall -k --user 0 com.dsi.ant.plugins.antplus pm uninstall -k --user 0 com.android.egg pm uninstall -k --user 0 com.sec.android.easyonehand pm uninstall -k --user 0 com.google.android.tts pm uninstall -k --user 0 com.android.hotwordenrollment.xgoogle pm uninstall -k --user 0 com.android.hotwordenrollment.okgoogle pm uninstall -k --user 0 com.sec.android.app.kidshome pm uninstall -k --user 0 com.samsung.android.fast pm uninstall -k --user 0 com.google.android.partnersetup pm uninstall -k --user 0 com.android.providers.partnerbookmarks pm uninstall -k --user 0 com.google.android.videos
A small note on ‘com.google.android.videos’ – this not your Camera application nor Galaxy. It is rather ‘Google TV’ (previously ‘Play Movies & TV’). You can see how sometimes product naming can get slightly confusing.
Let’s fist clarify what this specific uninstall command means in detail:
pm: We are dealing with the package manager, hence
uninstall: we will be uninstalling package(s)
-k: as per the
pm manual: ‘keep the data and cache directories around after package removal’. This important so we can reinstall it if necessary, though is not assured you will be able to do this.
--user 0: only uninstall this for the specified user, typically 0 – ourselves
package name: in reverse notation order as specified earlier
To get the full manual for
pm, simply execute
pm at the ADB shell.
As mentioned earlier, there are also some Facebook services which can likely be removed, though this may (or may not) affect how well Facebook applications work for you:
pm uninstall -k --user 0 com.facebook.system pm uninstall -k --user 0 com.facebook.appmanager pm uninstall -k --user 0 com.facebook.services
There is also
com.facebook.katana (The Facebook app) and
com.facebook.orca (The Messenger app).
I noticed that when the 3 packages listed above (system, appmanager, services) are uninstalled, Facebook messenger sometimes fails to work well, but not always. If you do not use Facebook at all, it would seem possible to remove all the 5 related Facebook packages, though I never tried it.
Please do not blindly execute the full list at the ADB command shell without reviewing each line. Not that I believe anything would break (except Facebook as indicated if you include the second part), but simply because there are applications in there you may be using, like Bixby, Printing (printspooler), Flipboard, Google TV etc.
If you are unsure what a particular package does, simply copy and paste the full package name into your favorite search engine and you will find plenty of documentation on most of them.
When you are ready with your own list and copy/paste it in to the ADB shell, you will see output similar to the following:
z3s:/ $ pm uninstall -k --user 0 com.android.egg Success
Which means that the package was successfully uninstalled for your user id alone. As per the
-k option, the data and cache directories are kept.
If you get the following error (ref second command output, first one is shown to highlight the situation):
z3s:/ $ pm uninstall -k --user 0 com.android.egg Success z3s:/ $ pm uninstall -k --user 0 com.android.egg Failure [not installed for 0]
It simply means the package is either not present or already uninstalled.
If you ever need to reinstall a package, you can do so in two possible ways:
z3s:/ $ cmd package install-existing com.android.egg Package com.android.egg installed for user: 0
z3s:/ $ pm install-existing --user 0 com.android.egg Package com.android.egg installed for user: 0
In this article, we learned how to remove bloatware from our Mobile Android phones. Not 100% without risk, but – at least in my view – more then safe enough to warrant the return on investment: extra battery life and no more (at times somewhat annoying) bloatware. Your phone may feel crisper, more responsive, and the battery will last longer.
While a large master list is provided for exploration, research and potential execution at the ADB shell, we also saw how removing package is a personal choice and that this choice often comes down to a package-by-package evaluation.
Leave us a comment with any things you found which are not on our master list yet, or if you have any tips to share!