How to Uninstall Carrier/OEM Bloatware Without Root Access

ADB Android for Mobile

More and more carriers and OEMs lock their equipment and install various bloatware on our smartphones and tablets. Admittedly, bloatware is rather subjective and can extend from Samsungs' own Messaging App to Google's own app, including real spyware, such as DT Ignite. Since many of our devices and tablets are locked down, some of these pre-installed system applications may be difficult to uninstall or even disable.

We usually see the configuration of smart phones and tablets because the operator or carrier wants to control their devices. Sometimes they are paid on the smartphone they sell for every app that they pre-install. Sometimes even more money can be gained from the diagnosis and data that can be collected on your phone by these applications. At the end of the day however, carriers and operators do so both for additional revenue and platform control.

There are some debloater apps for some OEMs in the Play Store, which are nice, and also some dedicated XDA members who have created tools for getting rid of them. However a universal solution to this task is rarely seen and the current guide will help you to uninstall these system applications manually without root access. Just a few simple ADB commands are needed in a command prompt.


  1. Install the USB drivers for your device (Google has a list of some universal USB drivers here)
  2. Download the ADB binary for your particular OS (Windows, Mac, Linux)
  3. Extract the zip file into a folder that you can quickly access.
  4. On your phone, go to Settings and tap on About Phone. Find the Build Number and tap on it 7 times to enable Developer Options.
  5. Now enter Developer Options and find USB Debugging. Enable it.
  6. How to Uninstall Carrier/OEM Bloatware Without Root Access
  7. Plug your phone into the computer and change it from “charge only” mode to “file transfer (MTP)” mode.
  8. On your computer, browse to the directory where you extracted the ADB binary.
  9. How to Uninstall Carrier/OEM Bloatware Without Root Access
  10. Launch a Command Prompt in your ADB folder. For Windows users, this can be done by holding Shift and Right-clicking then selecting the “open command prompt here” option.
  11. How to Uninstall Carrier/OEM Bloatware Without Root Access
  12. Once you’re in the command prompt/terminal, enter the following command: adb devices
  13. You will see that the system is starting the ADB daemon. If this is your first time running ADB, you will see a prompt on your phone asking you to authorize a connection with the computer. Grant it.
  14. How to Uninstall Carrier/OEM Bloatware Without Root Access
  15. Now if you re-run the adb devices command, the terminal will print the serial number of your device. If so, then you’re ready to move on.
  16. Enter the following command: adb shell
  17. How to Uninstall Carrier/OEM Bloatware Without Root Access
  18. Execute the “pm list packages | grep ''” command (without quotes) to find package names.
  19. How to Uninstall Carrier/OEM Bloatware Without Root Access
  20. ALTERNATIVELY: You can also easily find the package name of an installed system application by installing the App Inspector app on your phone. I prefer doing it this way so you know exactly what the app name is of the application that you are about to uninstall.
  21. How to Uninstall Carrier/OEM Bloatware Without Root Access
  22. Execute the command like so: “pm uninstall -k --user 0 ” command (without quotes) to uninstall a specific system application.
  23. How to Uninstall Carrier/OEM Bloatware Without Root Access

Uninstalling system applications can be dangerous as a warning, so please know what to do before completing these steps. If you fail, your phone may become unusable until a factory reset has been performed. Of course, another application that may depend on it could also break through by removing any given system application, so that you carefully remove everything. However if anything goes wrong, a factory reset can always be done to reset the stuff. However an application that you uninstalled can be returned even easier, as is the following:

How to Re-Install an Uninstalled App

  • Open a command prompt or terminal window, and enter the following command: adb shell cmd package install-existing

That works because apps are not uninstalled completely from the device and are only 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. Both flags specify that only the current user (and not all the users who require root access) will have the system app uninstalled and that the system application cache/data will be maintained (which cannot be removed without accessing the root). Therefore you can still receive official OTA updates from your carrier and OEM even if you "uninstall" a system application with this technique.

With this method, my editor can uninstall the Huawei HiVoice application which has been pre-installed on your smartphone, Chinese Note 8, allowing Google Assistant to default when you press the home button for a long time. Other users reported that this means they can uninstall the application for ads on their exclusive Moto G smartphones in Amazon Prime.