Most manufacturers preload a handful of apps that never receive updates, consume storage, and sometimes run background services that drain battery or use data. Removing these apps can free up precious megabytes, improve performance, and reduce the attack surface for privacy‑focused users. The key challenge is to do it without rooting the device, which would void warranties and complicate future updates. Android’s adb (Android Debug Bridge) lets you uninstall system packages safely, provided you follow a careful workflow.
C:\adb or ~/adb).platform-tools folder, and run:
adb devices
You should see a device ID followed by device. If it shows unauthorized, re‑check the RSA prompt on the phone.Android stores each app as a package identified by a unique name (e.g., com.samsung.android.app.camera). To see the full list, run:
adb shell pm list packages -s
The -s flag limits output to system packages – these are the ones that usually constitute bloatware. The command returns lines like:
package:com.samsung.android.app.scloud
package:com.samsung.android.game.gamehome
package:com.google.android.apps.maps
Copy the output to a text editor and search for apps you recognize as unnecessary (e.g., carrier‑specific services, duplicate media players, or trial apps). If you’re unsure, look up the package name online before proceeding.
Run the following command, replacing PACKAGE_NAME with the exact name you identified:
adb shell pm uninstall -k --user 0 PACKAGE_NAME
The -k flag keeps the app’s data and cache on the device, which makes it easy to reinstall later if needed. The --user 0 part tells Android to remove the app only for the primary user, leaving the system intact.
Example – removing Samsung’s pre‑installed “Game Launcher”:
adb shell pm uninstall -k --user 0 com.samsung.android.game.gamehome
If the command returns Success, the app is gone from your app drawer and will no longer run in the background.
After uninstalling, you can confirm the app is absent by checking the package list again:
adb shell pm list packages -s | grep PACKAGE_NAME
If nothing is returned, the uninstall succeeded. To reclaim the storage used by the leftover data, run:
adb shell pm clear PACKAGE_NAME
Note that pm clear only works if the package still exists in the system image. For many bloatware apps, the data folder is automatically removed when you reboot the device. A quick reboot after a batch of removals is a good habit.
When you have a long list of unwanted packages, typing each command manually is tedious. Create a simple text file (e.g., bloatware.txt) with one package name per line, then execute a loop:
# Linux/macOS
while read pkg; do adb shell pm uninstall -k --user 0 $pkg; done < bloatware.txt
# Windows PowerShell
Get-Content bloatware.txt | ForEach-Object { adb shell pm uninstall -k --user 0 $_ }
This approach ensures consistency and speeds up the process, especially on devices with many pre‑installed apps.
Some system apps are protected by the manufacturer and cannot be uninstalled even with pm uninstall. In those cases, disabling the app is a safe alternative. Run:
adb shell pm disable-user --user 0 PACKAGE_NAME
Disabling prevents the app from launching, removes it from the app drawer, and stops any background services. You can later re‑enable it with:
adb shell pm enable PACKAGE_NAME
While disabling does not free the storage occupied by the APK itself, it eliminates the runtime impact and is reversible.
com.android.systemui) that Android protects. Do not force removal; instead, consider disabling it if the device permits.bloatware.txt list and re‑run the batch script after each major update.adb shell dumpsys alarm to list lingering alarms, or reset the device’s app preferences via Settings > Apps > Menu > Reset app preferences.com.android.systemui package; it controls the status bar and navigation gestures.If you prefer a graphical interface, apps like Package Disabler Pro (requires root) or ADB Wireless let you issue ADB commands over Wi‑Fi. However, the manual ADB method described here gives you full control, works on any device, and leaves no extra apps installed.
By following this tutorial you have learned how to:
The result is a leaner Android experience with more free storage, less background noise, and a smaller attack surface – all without rooting or voiding your warranty.









