Today, almost every smartphone OEMs and carrier bundle their Android phones and tablets with bloatware. Unfortunately, even most of the flagship phones available in the market suffer from this problem. Bloatware is software or app that OEMs and carriers pre-install on your phone or tablet and you don’t have the privilege to remove them.
Generally, all smartphones and tablets have bloatware, the majority of which can be useless. Xiaomi has a tendency to put up more than a dozen bloatware that you would never use. When it comes to OEMs, they are either paid to pre-install an application from any developer or it could be to exercise higher control on the device such as in the case if the device is carrier-locked. Unlike third-party apps that users can uninstall, these apps cannot be uninstalled. Some of the bloatware can be disabled but you’ll find a hard way disabling all the unwanted bloatware.
Google Play Store is full of useful apps that you can employ. It has a catalog of debloater applications as well that help you uninstall carrier/OEM bloatware. However, these debloater apps require root access and thus, we aren’t going through with it.
Most of the other methods would require you to root and gain superuser privilege to get rid of unwanted apps. Perhaps there’s a way to uninstall carrier/OEM bloatware using ADB tools without rooting the phone. Here’s how it works.
How To Uninstall Carrier/OEM Bloatware On Android Smartphones Without Rooting?
Step #1: The first step is to download USB drivers for your phone.
- Usually, the drivers are automatically installed on your PC when you connect your phone to the PC via a USB cable.
- If it doesn’t download automatically, you can follow this procedure to update it right away.
- Firstly, press ‘Windows + X’, click on ‘Device Manager’.
- Search for ‘Portable Devices’, expand it, and right-click on your device name, for example: ‘OnePlus 7T’ or ‘Samsung Galaxy S20’, and so on.
- Select ‘Update Driver’ and let it load and it is done.
- Here you will find the OEM drivers which are generally compatible for any model under any OEM.
Note: The process of updating the driver is different for Mac and Linux.
Step #2: Download ADB binary with respect to your particular OS (Linux, Mac, Windows). The downloaded file is in zip format that you will have to extract.
Step #3: Enable Developer Options
- Go to Settings >> About Phone on your device. Tap on Build Number seven times and you’ll see a notification “You are now a Developer”.
Step #4: Enable USB Debugging. For that, you need to go to Settings >> About Phone >> System >> Developer Options >> Toggle USB Debugging.
Step #5: Connect the phone to the computer and when prompt the mode to select, you’d need to select ‘File Transfer (MTP)’.
Step #6: Open the directory where you extracted the downloaded ADB binary files.
Step #7: Navigate the cursor to a blank space and right-click on the mouse that will give various options. Click on ‘Open Command Window here’.
Step #8: Enter the command: adb devices on the command prompt and it will show if a device is connected or not.
Note: You will get a pop-up asking you to grant permission if you are using ADB tools for the first time on your computer. You have to click on ‘Accept’ or ‘OK’ to grant permission.
Step #9: In case you had to grant permission, enter the command “adb devices” again to check if the device is connected or not.
Step #10: Enter the command “adb shell” and that should give the command prompt a way into your smartphone via ADB.
Step #11: Next up, execute this command “pm list packages | grep ‘<Carrier/OEM/App Name’>” to find package names.
Note: If you want to get rid of MIUI apps, you can enter this command “pm list packages | grep ‘MIUI’” and this should find all the packages with ‘MIUI’ mentioned on it.
Step #12: You need to be extra cautious while selecting the package names as you are about to disable the said package from user zero. Here, an app available on Google Play Store called App Inspector comes in handy. Here’s how you can use it.
- Download App Inspector and install it.
- Go to ‘App List’ and you’ll see the list of apps installed both third-party and bloatware.
- Click on any app and you should get ‘Package Name’.
- Keep a note of which apps you want to get rid of and note their package name as well.
Step #13: Execute this command on Command Prompt “pm uninstall -k –user 0 <name of package>” and press enter.
- For example, the package name for Mi Launcher is com.mi.launcher. Similarly, the code to execute to get rid of Mi Launcher would be “pm uninstall -k –user 0 com.mi.launcher” without the quotation mark.
Remember, you should delete any system applications as it will surely hinder the system’s performance and overall functionality. Moreover, delete that bloatware that you wouldn’t be needing. There’s always a probability that deleting bloatware will actually hinder the performance so keep account of these aftermath effects too.
Wrapping Up
After going through Step #1 to Step #13, you have successfully deleted the ‘n’ number of apps from user 0. Note that the apps are still available but not visible to you. Once you perform a factory reset, it will return. Removing a system application may ease up with the memory, but it will surely interfere with the overall performance of the smartphone since system apps can be interdependent. Thus, make note of bloatware that you don’t need such as TikTok or Facebook. We recommend never to try and remove a system app unless you exactly know the aftermath and your plan of action in the future.
Also, cache and other data remain idle along with the app (hidden from user 0) in the background. A user would require root access to get their hands on the app and delete it truly, otherwise it would return. But this bypasses our title which includes uninstalling bloatware without rooting.
How To Re-Install Bloatware?
We are wondering if you made a mistake removing a particular bloatware or system app somehow. Apparently, the app you used to detect the package name, App Inspector, can be used to keep a backup of the package. When you are searching for the package name on the app, take a backup of the package file.
You can install any package simply by going to the Downloads or whatever section you have assigned for downloaded files. Click on the package, tap on Install and bingo.
Another cool method to install any package is to open the command prompt on your computer and enter the command “adb shell cmd package install-existing <name of package>“. It translates as “adb shell cmd package install-existing com.mi.launcher” without the quotation mark if you want to re-install the Mi Launcher app. This method won’t require you to backup the application package as the package isn’t deleted in a true sense but rather hidden from user 0 i.e. you.
What If Something Goes Wrong?
Now, here comes the most crucial question. What if something goes wrong? Since we are talking about deleting/removing bloatware, things can go south. If that happens, you can simply perform a factory reset on your smartphone via the recovery mode. First, you need to take a backup of all the data before proceeding. Now, proceed to the recovery mode where the method might change depending upon which model and OEM you use. Once you proceed to the recovery mode, perform a factory reset by selecting ‘wipe data/factory reset’ and it is done. Doing so will restore all the apps and services on your device as it was before doing so.
Conclusion
Hope the ADB method to uninstall carrier/OEM bloatware on Android smartphone without rooting helps in your favor. For anything, you must be cautious with the methods listed above. Although the ADB method works for our Google Pixel, Samsung Galaxy S8, Moto G, and other devices, user discretion is needed. Do it on your own responsibility as AndroidFist isn’t liable for any negative outcomes after going through this guide.