If you've bought a new Android phone, chances are it came pre-installed with some apps you don't care about. OEMs often partner with other brands and companies to pre-install their apps on their devices, and these apps can be anything ranging from streaming services to music players. If your phone is locked to a particular carrier, there would be some apps your carrier has also pre-installed on your device that you may never use.

These apps needlessly clutter your app drawer and may even send obtrusive notifications or sometimes even push ads on your device. What makes it even worse is that you can't easily uninstall this bloatware most of the time, which can lead to frustration.

Vivo Funtouch OS 11 Bloatware

If you are bothered by these pre-installed apps on your phone and want to get rid of them, enjoy a cleaner UI with fewer distractions, or get rid of annoying notifications, this guide will show you how to uninstall carrier/OEM bloatware from your device without root access using a few simple steps that involve just your phone and a computer.

This method works not just for third-party apps but also for some first-party apps. For example, if your phone comes with Samsung Calendar but you prefer using Google Calendar, you can uninstall Samsung's app and use Google Calendar as your default calendar app. The only things you'll need for this are your Android phone, a PC/Mac with ADB, and a USB cable to connect your phone to your computer.

How to uninstall bloatware from your phone without root access

While there are some apps or executable batch files you can find on the XDA forums for specific devices, those solutions aren't universal and may apply only to a certain device or a specific Android skin. Some even require root access. The list of pre-installed apps or bloatware differs based on the OEM, carrier, and sometimes even the region where the device is sold in. So it's best to debloat your phone using this method to make sure you uninstall only the apps you want to get rid of.

Note: Uninstalling some system apps can be dangerous and may result in force closes or even a bricked device. An app may depend on another app to work so be careful about what you uninstall and the consequences it may have. It's best not to mess with some core apps like the dialer, messages, camera, etc., and only uninstall the apps you consider bloatware.

Step 1: Enabling USB Debugging on your phone

  1. Open the Settings app on your phone and scroll down to About Phone.
  2. Tap on the Build Number seven times to enable Developer Options.
    Uninstall-bloat-4
  3. Go back to the Settings menu and go to System > Developer Options.
  4. Enable USB Debugging.

Step 2: Interfacing your phone with ADB

  1. Plug your phone into your computer and change the USB settings from Charge only mode to File transfer (MTP) mode.
  2. Ensure that you have ADB installed on your computer.
  3. On your computer, browse to the directory where ADB is installed. Hold the Shift key and right-click on the name of the directory and select Open command/PowerShell window here.
  4. If you're using a Mac, launch a Terminal window and navigate to the ADB directory using cd <path to the directory> (without the angular brackets).
    Uninstall-bloat-1-e1629809611811
  5. Now, type in adb devices and hit enter.
  6. You will see the system is starting the ADB daemon. If this is your first time running ADB, you'll see a prompt on your phone asking you to authorize a connection with the computer. Grant it.
    Uninstall-bloat-2-e1629809672207
  7. Now, if you re-run the adb devices command, the terminal will print the serial number of your device. If you see a string of numbers, you’re ready to move on.

Step 3: Finding the name of the packages to uninstall

  1. In the command prompt/terminal window, enter adb shell and hit enter.
  2. Then, use the following command:
            pm list packages | grep '<OEM/Carrier/App Name>'
        
  3. This will list all the OEM and carrier apps installed on your device.
    package-list
  4. Alternatively, you can also use an app called App Inspector from the Play Store to know the package names of all the installed apps on your phone. Install the app, select the app you want to uninstall, and the package name will be listed there. Note the package names of all the apps you want to uninstall.
    Uninstall-bloat-7-e1629809817469

Step 4: Uninstalling the bloatware

  • This is the command you need to use to uninstall a system app:
            pm uninstall -k --user 0 NameOfPackage
        
    ADB-PM-uninstall-app

Note that NameOfPackage needs to be replaced with the full package name, without any " or <>. You'll also need to execute the command for every app you want to uninstall.

As a word of warning, uninstalling system applications can be dangerous so please know what you’re getting rid of before you complete these steps. Failing to do so could result in your phone becoming unusable until you perform a factory reset. Of course, by removing any given system application, another system application that may depend on it may also break so be careful what you remove. If something goes wrong, you can always perform a factory reset to bring things back to the way they were. Alternatively, there’s an even easier way to bring back an app you uninstalled, as we explain in the section at the end.

ADB app removal GUIs

If you aren't comfortable using ADB commands for some reason (they are really easy, and we insist that users give them a shot), you can try out applications by third-party, independent developers. Several of these applications are GUIs that make it easier to execute the ADB commands that we list above.

Give them a shot if you are having trouble with ADB command execution, although setting up ADB and executing commands yourself is a nice skill to have in the world of Android.

How to re-install an uninstalled app

If you've deleted an app by mistake or a secondary app is force closing because it's dependent on an app you uninstalled, you can re-install the app using the following set of commands:

        adb shell
pm install-existing NameOfPackage
ADB PM install existing app

This works because applications truly aren’t fully uninstalled from your device. They are just being uninstalled for the current user (user 0 is the default/main user of the phone). That’s why, if you omit the --user 0 and -k part of the uninstall command, the command won’t work. These two flags respectively specify the system app will only be uninstalled for the current user (and not all users, which is something that requires root access) and that the cache/data of the system application will be preserved (which can’t be removed without root). Therefore, even if you uninstall a system app using this method, you can still receive official OTA updates from your carrier or OEM.


This method can be used on any smartphone regardless of the OEM or carrier. You won't get back any space usually because these apps are typically installed in the system partition. Still, it will prevent them from sending you notifications and clogging up your app drawer.