Manufacturers often ship Android phones with pre‑installed apps that you never use – the infamous “bloatware”. While rooting can give you full control, it also voids warranties and opens security holes. Fortunately, Android’s pm (package manager) commands, accessed through ADB, let you disable or even uninstall many of those apps without rooting.
Settings > About phone > Build number and tap it seven times. Then open Settings > System > Developer options and toggle USB debugging on.com.google.android.gms (Google Play Services) can break core functionality, including app updates, location, and push notifications. Only disable apps you are sure you don’t need.adb devices
You should see a device ID followed by device. If it shows unauthorized, check your phone for a dialog asking to allow USB debugging and tap Allow.adb shell getprop ro.build.version.release
The command should output your Android version (e.g., 12 or 13).System apps are installed in the /system partition. Not every system app can be removed, but most can be disabled.
adb shell pm list packages -s
The output looks like package:com.samsung.android.app.contacts. Copy the package name of the app you want to target.grep (Linux/macOS) or findstr (Windows). Example (Linux/macOS):
adb shell pm list packages -s | grep "facebook"
This helps you locate manufacturer‑specific bloatware such as com.facebook.katana that some OEMs pre‑install.Both actions use the same pm tool but have different implications:
pm disable-user) – The app stays on the device but is prevented from running, appears greyed out in the app drawer, and does not consume RAM or battery. It can be re‑enabled later.pm uninstall --user 0) – The app is removed from the primary user profile. The package files remain on the system partition, so OTA updates can restore it, but it no longer shows up anywhere on the device.For most bloatware, disabling is the safest first step. If you are certain the app is unnecessary, you can proceed to uninstall.
com.example.bloat with the actual package name:
adb shell pm disable-user --user 0 com.example.bloat
You should see Package com.example.bloat new state: disabled-user.adb shell pm list packages -d
Your package should appear in the output.Only perform this step after you have successfully disabled the app and confirmed you do not need it.
adb shell pm uninstall --user 0 com.example.bloat
Expected output: Success.adb shell cmd package install-existing com.example.bloat
This command tells the package manager to re‑enable the already‑present system APK.adb shell pm enable --user 0 com.example.bloat
You’ll see Package com.example.bloat new state: enabled.If you have a list of multiple packages you want to disable, you can create a simple batch (Windows) or shell (macOS/Linux) script. Example (bash):
#!/bin/bash
PACKAGES=(
"com.samsung.android.app.sbrowser"
"com.facebook.katana"
"com.google.android.apps.maps"
)
for PKG in "${PACKAGES[@]}"; do
adb shell pm disable-user --user 0 "$PKG"
echo "Disabled $PKG"
done
Run the script while the phone is connected. Always double‑check the package list – a typo could target a critical app.
Failure [UNKNOWN_ERROR]com.android.settings) that cannot be disabled for safety reasons.Settings > Security > Device admin apps and deactivate it before retrying.com.android.systemui, com.google.android.gms, or the default launcher.Settings > Battery > Battery usage to confirm the changes have a positive impact.Most users notice a modest improvement in storage (a few hundred megabytes per app) and a reduction in background network activity. Battery life may improve slightly, especially if you disabled apps that kept GPS or Wi‑Fi active.
Because the system partition remains untouched, you retain the ability to receive OTA updates without the risk of bricking the device.
Enjoy a leaner Android experience – all without rooting or voiding your warranty.









