How to Uninstall Carrier/OEM Bloatware Without Root Access


Recommended Posts

I am posting this guide that I found on the XDA forums on how to remove the preinstalled junk that comes on Android phones.

 

Install the USB drivers for your device (Google has a list of some universal USB drivers here)

Download the ADB binary for your particular OS (Windows, Mac, Linux)

Extract the zip file into a folder that you can quickly access.

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.

Now enter Developer Options and find USB Debugging. Enable it.

Plug your phone into the computer and change it from “charge only” mode to “file transfer (MTP)” mode.

On your computer, browse to the directory where you extracted the ADB binary.

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.

Once you’re in the command prompt/terminal, enter the following command: adb devices

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.

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.

Enter the following command: adb shell

Execute the “pm list packages | grep '<OEM/Carrier/App Name>'” command (without quotes) to find package names.

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.

Step 1: Tap on “App List”

Step 2: Find the app you want gone. (eg. “Compass”)

Step 3: Find the package name under the App Name (eg. “com.huawei.compass”)

 

Execute the command like so: “pm uninstall -k --user 0 <name of package>” command (without quotes) to uninstall a specific system application.

As a word of warning, uninstalling system applications can be very 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. But if something does go wrong, you can always perform a factory reset to bring things back to the way they were. Which is something else you should know – these uninstalled system applications can/will come back after a factory reset.

This is a good thing, however, as it means that these applications truly aren’t being uninstalled from the 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 command, the command won’t work. These two commands respectively specify that 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 access). Therefore, even if you “uninstall” a system application using this method, you can still receive official OTA updates from your carrier or OEM.

  • Like 3
  • 3 weeks later...
2 hours ago, techbeck said:

Looks easier just to root your device, remove the apps, and unroot.  

true if you don't mind your device being factory reset from unlocking the bootloader (which most android phones require in order to get root).

 

this method looks to avoid unlocking the bootloader so you'd be able to do it without losing anything on your phone :)

Just now, techbeck said:

Yea, but typically, a normal user wouldn't do this and those that were concerned about removing bloat  would have rooted their phones.  Cool tip tho. 

for our own phones sure. we're tech-y people :)

 

I could see using this for say a buddy's phone if they want help removing something an OEM put on but you know they're not savvy enough to be trusted with a root on their phone.

or for someone that already has a lot installed on their phone and doesn't want to deal with a reset just to remove an OEM app.

14 minutes ago, Brandon H said:

for our own phones sure. we're tech-y people :)

 

I could see using this for say a buddy's phone if they want help removing something an OEM put on but you know they're not savvy enough to be trusted with a root on their phone.

or for someone that already has a lot installed on their phone and doesn't want to deal with a reset just to remove an OEM app.

I get it.  I just never had anyone who is non techie want to remove bloat off a phone before.  Just what I have seen is all.

  • 4 months later...
On 10/10/2018 at 4:43 PM, techbeck said:

I get it.  I just never had anyone who is non techie want to remove bloat off a phone before.  Just what I have seen is all.

In my case, I don't really want root, but I did want to remove the bloatware off the phone and tablet. This is extremely simple to do using the adb command above.

1 minute ago, neoraptor said:

Also in case of Samsung and wanting to still be able to use knox and stuff

I did this to my Samsung Note Pro 12.2 (a.k.a Toilet tablet) . It's Battery would last a couple days, while sleeping. After debloating it, it lasts over a week, mostly sleeping.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Meta will now use data from outside businesses to personalize AI responses by David Uzondu In an update that's rolling out globally (except in a handful of countries), Meta will use your data from outside businesses to personalize your AI responses and your primary feeds. Meta already utilizes your shopping activity to target ads, but the company now plans to expand this tracking to personalize other "parts of your experience" like feed algorithms and AI assistant chats. The company is replacing the two settings ("Your activity off Meta technologies" and "Activity from other businesses") that currently let you disconnect off-platform activity with a single, renamed setting called Activity from other businesses. If you don't want Meta to manipulate your feed and AI responses using your outside history, you can just turn the Activity from other businesses setting off in your account settings. This toggle resides within your Accounts Center, applying your choice to every connected profile. Turning this off will not stop companies from sending your data to Meta. The company will still collect your web interactions, but it only uses them to train products, while still accessing external accounts you connect. When The Verge spoke to Meta spokesperson, Emil Vazquez, the representative said that this update will exclude several locations at launch including the European region, the UK, Brazil, Thailand, South Africa, Turkey, South Korea, Ecuador, Nigeria, and Kenya. The new update comes at a time when the social media giant is recovering from a major PR disaster involving generative AI. Last week, there was a huge security issue on Instagram where attackers figured out a way to exploit a prompt injection vulnerability. Hackers managed to trick Meta AI into handing over account ownership (even if the victim had 2FA enabled). Some of the affected accounts include the dormant Obama White House profile, cosmetics brand Sephora, the Chief Master Sergeant of the Space Force, and security researcher Jane Manchun Wong. Internally, the company also had to scale back plans on its Model Capability Initiative (MCI), an employee-monitoring program designed to train corporate AI models by recording worker keystrokes and screen activity, after employees raised privacy concerns and complained about severe battery life drain.
    • JetBrains is working to cut false positives in RustRover 2026.2 by David Uzondu Recently, JetBrains released the fifth EAP build of its dedicated IDE, RustRover 2026.2, bringing improvements like a Run gutter icon for criterion_main! macro benchmarking and a feature that alerts you when there are unused traits in your current scope. Now, the company is out with a blog post addressing one of the "most common" complaints from users: false positives. In RustRover, a false positive occurs when the editor incorrectly highlights something as an error even though the project compiles and runs successfully. This mismatch flags a gap between the IDE's internal intelligence and the actual compiler. When the editor flashes red warnings over perfectly valid code, developers lose trust in the tool, which stalls momentum. Traditionally, RustRover runs cargo check to detect compiler errors and warnings, but it also relies on its own code analysis engine to power real-time features. To provide quick feedback, this engine parses your source code into a syntax tree while inferring types and resolving names as you type. Because this engine must work on broken, half-written code and react instantly, its logic sometimes diverges from the compiler's, producing false positives that do not exist in the compiler's eyes. JetBrains said that it has a "dedicated task force" focused specifically on identifying and fixing false positives by analyzing user reports and examining large-scale open-source projects. To speed up this process, the team built an internal system modeled after Crater, the famous Rust project that compiles and runs tests for every single crate published on crates.io. This automated pipeline compares the diagnostics from RustRover's analysis with actual compiler output to catch discrepancies before they reach users, ensuring smoother workflows. RustRover, for those who're unaware, is a dedicated IDE designed specifically for Rust developers. It's been around for a couple of years now, providing features like built-in debugging via LLDB, seamless cargo integration, advanced macro expansion, and HTML support. JetBrains distributes the app under two licensing models: a paid commercial subscription and a free option for non-commercial use.
    • Last year I bought the 2TB variant for $114 on Amazon. That's crazy that the 1TB is now 67% more expensive for half the storage, even with the newer T9 already on the market. And that's considered a good deal.
    • You can disable all non needed features from Brave. There is also Brave Origin which removes them entirely and it is free for Linux.
    • I wish I could use Brave but the tab suspension feature is horrible. It doesn't suspend them like Edge does. Even after 2h open with 70+ tabs (same as Edge), it has 2GB more consumption than Edge for no reason.
  • Recent Achievements

    • One Year In
      Primer1st earned a badge
      One Year In
    • Experienced
      JayZJay went up a rank
      Experienced
    • Reacting Well
      Sir_Timbit earned a badge
      Reacting Well
    • Week One Done
      rubentuben8 earned a badge
      Week One Done
    • Week One Done
      ARaclen earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      512
    2. 2
      PsYcHoKiLLa
      229
    3. 3
      Edouard
      135
    4. 4
      ATLien_0
      87
    5. 5
      Steven P.
      81
  • Tell a friend

    Love Neowin? Tell a friend!