How to Uninstall Bloatware from Android Phones Using Android Developer Tools

Sairam Krish
9 min readDec 18, 2023

--

Recently I got annoyed with the amount of bloatwares that came along with a specific mobile brand. I don’t know about other brands and how much bloatware they add. As a developer, this blog is a sequence of steps that I did to cleanup my android and make it the way I want.

Bloatware is the term used to describe the unwanted apps that come pre-installed on your Android phone by the manufacturer, carrier, or third-party partners. These apps can take up valuable storage space, consume battery life, slow down your device, and sometimes even display annoying ads or notifications. If you want to get rid of these apps and enjoy a cleaner, faster, and more secure Android experience, then this blog post is for you.

In this post, we will show you how to uninstall bloatware from your Android phone using Android Developer Tools, a set of software tools that allow you to communicate with your device and perform various tasks. You will need a computer, a USB cable, and your Android phone for this process. You will also need to enable USB debugging on your phone, which is a mode that allows your device to receive commands from your computer.

Before we begin, we want to warn you that uninstalling some system apps can be risky and may cause your device to malfunction or even brick. Therefore, you should be careful about what apps you uninstall and only remove the ones that you are sure are bloatware. You should also backup your data before proceeding, just in case something goes wrong. We are not responsible for any damage or data loss that may occur as a result of following this guide.

Step 1: Enable USB Debugging on Your Phone

USB debugging is a mode that allows your phone to communicate with your computer and receive commands from it. To enable USB debugging on your phone, follow these steps:

  • Open the Settings app on your phone and scroll down to About Phone.
  • Tap on the Build Number seven times to enable Developer Options.
  • Go back to the Settings menu and go to System > Developer Options.
  • Enable USB Debugging.

Step 2: Install ADB on Your Computer

ADB stands for Android Debug Bridge, and it is a command-line tool that lets you interact with your device and perform various tasks, such as installing or uninstalling apps, rebooting, backing up, etc. To install ADB on your computer, follow these steps:

  • Download the latest version of the Android SDK Platform Tools from here.
  • Extract the zip file to a folder on your computer, such as C:\adb.
  • Open a command prompt or terminal window and navigate to the folder where you extracted the platform tools. For example, type cd C:\adb and press Enter.
  • To test if ADB is working, connect your phone to your computer with a USB cable and type adb devices and press Enter. You should see a list of devices attached, along with a serial number. If you see a message saying “unauthorized”, you may need to allow USB debugging on your phone by tapping on the pop-up notification.

Step 3: Uninstall Bloatware from Your Phone Using ADB

Now that you have enabled USB debugging on your phone and installed ADB on your computer, you are ready to uninstall bloatware from your phone using ADB. To do this, follow these steps:

  • On your computer, open a command prompt or terminal window and navigate to the folder where you extracted the platform tools.
  • Type adb shell and press Enter. This will open a shell session on your phone, where you can execute commands.
  • To list all the apps installed on your phone, type pm list packages and press Enter. You will see a long list of package names, such as com.google.android.apps.maps, com.facebook.katana, etc. These are the apps installed on your phone, both system and user apps.
  • To uninstall an app, you need to know its package name. You can search for the app name on Google and find its package name, or you can use an app like Package Name Viewer 2.0 to find the package name of any app on your phone.
  • Once you know the package name of the app you want to uninstall, type pm uninstall -k — user 0 <package_name> and press Enter. For example, to uninstall Facebook, type pm uninstall -k — user 0 com.facebook.katana and press Enter. The -k flag keeps the app data and cache, and the — user 0 flag applies the command to the current user. You can omit these flags if you want to completely remove the app and its data for all users.
  • You should see a message saying “Success” if the app was uninstalled successfully, or “Failure” if the app could not be uninstalled. Some apps may be protected by the system and cannot be uninstalled this way. In that case, you may need to root your device and use a more powerful tool like Titanium Backup to remove them.
  • Repeat this process for any other app you want to uninstall. You can also use the wildcard () to uninstall multiple apps with the same prefix. For example, to uninstall all the Google apps, type pm uninstall -k — user 0 com.google. and press Enter.
  • To exit the shell session, type exit and press Enter.
brew install android-platform-tools
adb devices
# once device is listed
# no need to mention the device id etc., just type
adb shell

# syntax to list all packages
pm list packages | grep '<OEM/Carrier/App Name>'

# example: vivo phone, list all vivo packages
pm list packages | grep 'vivo'
pm list packages | grep 'facebook'
# Search for bbk ( parent company of vivo,oppo,realme etc ) in the list of packages
pm list packages | grep 'bbk'
pm list packages | grep 'BBK'

# uninstall package syntax
pm uninstall -k --user 0 NameOfPackage

# example: vivo phone - uninstall vivo bloatware
pm uninstall -k --user 0 com.vivo.weather
pm uninstall -k --user 0 com.vivo.weather.provider
pm uninstall -k --user 0 com.vivo.easyshare
pm uninstall -k --user 0 com.vivo.gametrain
pm uninstall -k --user 0 com.vivo.gamewatch

Step 4: Reinstall an App if Something Goes Wrong

If you accidentally uninstall an app that you need or that causes your device to malfunction, you can reinstall it using ADB. To do this, follow these steps:

  • On your computer, open a command prompt or terminal window and navigate to the folder where you extracted the platform tools.
  • Type adb shell and press Enter. This will open a shell session on your phone, where you can execute commands.
  • To reinstall an app, you need to know its package name and the path to its APK file on your phone. You can find the APK file of any app on your phone by using an app like [APK Extractor] to extract it and save it to your internal storage or SD card. Alternatively, you can download the APK file of the app from a trusted source like [APKMirror] and copy it to your phone.
  • Once you have the package name and the path to the APK file of the app you want to reinstall, type pm install -r <path_to_apk_file> and press Enter. For example, to reinstall Facebook, type pm install -r /sdcard/Facebook.apk and press Enter. The -r flag replaces the existing app and its data. You can omit this flag if you want to install a new app and keep the old data.
  • You should see a message saying “Success” if the app was installed successfully, or “Failure” if the app could not be installed. Some apps may require additional permissions or dependencies to work properly, so you may need to grant them manually or install them separately.
  • Repeat this process for any other app you want to reinstall. You can also use the wildcard () to reinstall multiple apps with the same prefix. For example, to reinstall all the Google apps, type pm install -r /sdcard/com.google. and press Enter.
  • To exit the shell session, type exit and press Enter.
# syntax
pm install-existing NameOfPackage

# example
pm install-existing com.vivo.weather

Dont uninstall firmware related apps

In following sections, used vivo as an example. However, the concept remains the same for other brand of phones.

Camera Apps

Don’t touch anything related to camera. It might break camera app or affect its functionality

  • package:com.vivo.faceui — This app is responsible for the face beautification feature of the camera app. It allows you to adjust the skin tone, smoothness, eye size, etc. of your selfies.
  • package:com.vivo.videoeditor — This app is needed for the camera hardware and the video editing feature of the camera app. It allows you to trim, crop, add filters, music, stickers, etc. to your videos.
  • package:com.vivo.smartshot — This app is part of the camera app and provides the smart shot mode. It automatically detects the best scene and settings for your photos, such as portrait, night, panorama, etc.

Security Apps

Don’t touch anything related to security. It might compromise the security and privacy of your device and data.

  • package:com.bbk.launcher2 — This app is the default launcher of your phone and provides the home screen, app drawer, widgets, etc. It also has some security features, such as app lock, hidden space, etc.
  • package:com.android.bbk.lockscreen3 — This app is the default lock screen of your phone and provides the lock screen wallpaper, clock, notifications, etc. It also has some security features, such as face unlock, fingerprint unlock, etc.
  • package:com.bbk.facewake — This app is responsible for the face wake feature of your phone. It allows you to wake up your phone by looking at it.
  • package:com.vivo.faceunlock — This app is responsible for the face unlock feature of your phone. It allows you to unlock your phone by scanning your face.
  • package:com.bbk.account — This app is responsible for the BBK account feature of your phone. It allows you to sync your data, settings, contacts, etc. across BBK devices and services, such as Vivo Cloud, Vivo App Store, etc.

Fingerprint Apps

Don’t touch anything related to fingerprint. It might break fingerprint sensor or affect its functionality.

  • package:com.vivo.fingerprint — This app is responsible for the fingerprint feature of your phone. It allows you to register, manage, and use your fingerprints to unlock your phone, apps, payments, etc.
  • package:com.vivo.fingerprintengineer — This app is responsible for the fingerprint engineer mode of your phone. It allows you to test, calibrate, and debug your fingerprint sensor.

Sensor Apps

Don’t touch anything related to sensor. It might affect the performance and accuracy of your phone’s sensors, such as accelerometer, gyroscope, proximity, etc.

  • package:com.vivo.compass — This app is responsible for the compass feature of your phone. It allows you to use your phone as a compass and shows the direction, altitude, latitude, longitude, etc. It might be needed for maps and direction apps, such as Google Maps, Waze, etc.
  • package:com.vivo.motionrecognition — This app is responsible for the motion recognition feature of your phone. It allows you to use gestures and motions to control your phone, such as shaking, flipping, tilting, etc.

System Apps

Don’t touch anything related to system settings and configuration. It might affect the stability and functionality of your phone’s system and user interface.

  • package:com.vivo.setupwizard — This app is responsible for the setup wizard of your phone. It allows you to set up your phone for the first time, such as choosing the language, network, account, etc.
  • package:com.google.android.networkstack.overlay.vivo — This app is responsible for the network stack overlay of your phone. It allows you to use the Google network stack instead of the Vivo network stack, which might improve the network performance and compatibility of your phone.
  • package:com.vivo.smartmultiwindow — This app is responsible for the smart multi-window feature of your phone. It allows you to use multiple apps in split-screen or floating windows mode.
  • package:com.vivo.permissionmanager — This app is responsible for the permission manager of your phone. It allows you to manage the permissions of your apps, such as camera, microphone, location, etc.
  • package:com.vivo.unionpay — This app is responsible for the unionpay feature of your phone. It allows you to use your phone as a payment method for unionpay services, such as online shopping, offline payment, etc.
  • package:com.android.BBKPhoneInstructions — This app is responsible for the phone instructions of your phone. It provides the user manual, tips, and FAQs for your phone.
  • package:com.android.BBKCrontab — This app is responsible for the crontab feature of your phone. It allows you to schedule tasks and commands to run at specific times or intervals, such as clearing cache, optimizing battery, etc.

Service and Support Apps

Don’t touch anything related to service and support. It might affect the warranty and customer service of your phone.

  • package:com.vivo.ewarranty — This app is responsible for the e-warranty feature of your phone. It allows you to check the warranty status, validity, and terms of your phone.
  • package:com.vivo.pushservice — This app is responsible for the push service feature of your phone. It allows you to receive notifications and updates from Vivo and its partners, such as system updates, app updates, promotions, etc.

Conclusion

We hope this blog post helped you learn how to uninstall bloatware from your Android phone using Android Developer Tools. By removing the unwanted apps, you can free up storage space, improve performance, enhance security, and customize your device to your liking. However, you should be careful about what apps you uninstall and always backup your data before proceeding. Thanks for reading!

--

--

Sairam Krish
Sairam Krish

Written by Sairam Krish

Software Architect ★ Data Architect

No responses yet