Carrier and OEM bloatware eats storage, RAM, and battery - and you don't need root to get rid of it. Here's the safe, reversible way to remove pre-installed apps from any Android phone using ADB, plus a one-click GUI alternative.
Quick answer
To debloat Android without root, enable USB debugging, connect to a PC, and remove each unwanted app for your user with adb shell pm uninstall -k --user 0 <package>. This never touches the system partition, so it's safe and reversible - reinstall with cmd package install-existing <package> or a factory reset. A GUI like Andora does the same thing with a checkbox instead of commands.
Why debloat without root?
Bloatware (the duplicate browsers, vendor app stores, promo apps, and pre-loaded games that ship on most phones) runs in the background, consumes storage, and can't be removed through the normal app drawer. Rooting would let you delete it outright, but rooting trips Knox, can void your warranty, breaks banking apps and Google Play integrity, and risks bricking the phone.
The better approach uses a feature Android has had for years: per-user uninstall. It removes an app from your user profile without deleting it from the read-only system partition. No root, no unlocked bootloader, no warranty risk - and it's reversible.
Step 1 - Enable USB debugging and connect
Debloating runs over ADB, so you need USB debugging on:
Open Settings → About phone and tap Build number seven times to unlock Developer options.
In Settings → System → Developer options, turn on USB debugging.
Connect the phone to your PC and tap Allow on the authorization prompt.
Every Android app has a unique package name (like com.facebook.katana) - that's what you remove, not the friendly app label. List them all:
# every installed package
adb shell pm list packages
# filter by keyword (Windows)
adb shell pm list packages | findstr facebook
# show only pre-installed system packages
adb shell pm list packages -s
If you're not sure which package belongs to which app, an app like Andora or a package-name viewer maps friendly names to package IDs so you're never guessing.
Step 3 - Remove the app for your user
This is the core command. It uninstalls the app for user 0 (your primary profile) and the -k flag keeps its cache/data directory so it restores cleanly:
A successful run prints Success. The app vanishes from your launcher and stops running - but the APK is still on the system partition, untouched.
If you'd rather not fully remove a system-adjacent app, disable it instead. It stays installed but inactive, which is the safer choice when you're unsure:
Before you remove anything: leave alone the phone/dialer, SMS, launcher, keyboard, com.android.systemui, Play Services, and anything named *.framework or carrier-provisioning. Removing those can cause boot loops or break calling. When in doubt, disable-user first and live with it for a day before committing.
What's generally safe to remove
Usually safe
Leave alone
Duplicate browsers & vendor app stores
Phone, dialer, SMS/MMS
Promo, "tips", and news apps
System UI & the launcher
Pre-loaded games & social stubs
Keyboard & input methods
OEM media / cloud apps you never use
Google Play Services & framework
Step 4 - Restore anything you regret
Because the APK was never deleted, undoing a removal is instant - reinstall it for your user:
Re-enable a disabled app the same way with pm enable. And the nuclear option always works: a factory reset restores every pre-installed app, so there's no way to permanently lose system software with this method.
The one-click way with Andora
Typing package names is fine for a handful of apps, but error-prone across dozens. Andora's App management lists every installed app with its real name and icon, and lets you debloat with a single click - it runs pm uninstall --user 0 for you under the hood, no command line. Disabled and debloated apps stay in the list with clear badges, and re-enable in one click, so you always know exactly what you changed and can undo it instantly. You can even bulk-remove an app across every connected device at once.
App management is part of the free tier (it requires a quick Google sign-in), works on stock unrooted phones, and never touches the system partition.
Debloat with a checkbox, not a command line
Andora lists every app by name and removes bloatware in one click - reversible, no root. Free for Windows 10/11.
Yes, when you remove apps for the current user only. The pm uninstall --user 0 method never modifies the system partition, it just hides the app from your user profile, so the system stays intact and the change is fully reversible. The only real risk is removing an app another system component depends on; stick to known-safe bloatware and avoid anything labelled "system", "framework", or carrier-essential.
No. Per-user uninstall doesn't touch the bootloader or system partition, so it doesn't trip Knox, void the warranty, or wipe your personal data - unlike rooting. It only removes the targeted app for your user. A factory reset restores every pre-installed app, which is the worst case if you remove something you needed.
Run adb shell cmd package install-existing <package> to reinstall the app for your user - the APK was never deleted from the system, so it comes straight back. Alternatively, a factory reset restores all pre-installed apps at once. In Andora, debloated apps stay in the list with a badge and re-enable in one click.
Both stop an app without root. pm uninstall --user 0 removes it for your user (and frees its data), while pm disable-user --user 0 keeps it installed but inactive. Disabling is the gentler, more easily reversible option for system-adjacent apps; per-user uninstall is cleaner for obvious bloatware you're confident about.
Generally safe: duplicate browsers, vendor app stores, promotional and "tips" apps, pre-loaded games, social-media stubs, and OEM media or news apps you never use. Leave alone anything related to phone, dialer, SMS/MMS, the launcher, the keyboard, system UI, Play Services, carrier provisioning, and packages with names like com.android.systemui or *.framework - removing those can cause boot loops or break core features.
A reboot does not bring them back - the per-user removal persists. However, a major system update or a factory reset can reinstate pre-installed apps, so you may need to repeat the debloat after a big OTA update. Keeping a list of the package names you removed makes redoing it quick.
Andora wraps ADB in a clean Windows GUI - one-click debloat with restore badges, bulk uninstall across devices, plus APK install, screen mirroring, and file transfer. Free, no root, no command line.