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
How to Remove Bloatware From Your Samsung Android Mobile Phone
How to Remove Bloatware From Your Samsung Android Mobile Phone

Software requirements and conventions used

Software Requirements and Linux Command Line Conventions
Category Requirements, Conventions or Software Version Used
System Linux Distribution-independent
Software Bash command line, Linux based system
Other 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)
Conventions # - requires linux-commands to be executed with root privileges either directly as a root user or by use of sudo command
$ - requires linux-commands to be executed as a regular non-privileged user

Getting setup

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:/ $ 

SUBSCRIBE TO NEWSLETTER
Subscribe to Linux Career NEWSLETTER and receive latest Linux news, jobs, career advice and tutorials.


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.gms, com.google.android.gsf, 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.

Removing Bloatware

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 pm 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.

Reinstalling Packages

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

Or:

z3s:/ $ pm install-existing --user 0 com.android.egg                                                                            
Package com.android.egg installed for user: 0

Conclusion

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!

FIND LATEST LINUX JOBS on LinuxCareers.com
Submit your RESUME, create a JOB ALERT or subscribe to RSS feed.
LINUX CAREER NEWSLETTER
Subscribe to NEWSLETTER and receive latest news, jobs, career advice and tutorials.
DO YOU NEED ADDITIONAL HELP?
Get extra help by visiting our LINUX FORUM or simply use comments below.

You may also be interested in:



Comments and Discussions