Enable Developer Mode on your Android device, connect it to a computer via USB with ADB tools installed, then run adb shell pm disable-user [package.name] for each bloatware app you want to disable (e.g., adb shell pm disable-user com.samsung.android.app.telephonyui). The app becomes inactive but remains installed, allowing you to re-enable it later with adb shell pm enable [package.name]. This method doesn’t require rooting and immediately stops background data collection and battery drain from disabled apps.
What is ADB and Why Use It?
ADB is a command-line tool from the Android SDK that creates a communication bridge between your computer and Android device. It allows you to execute shell commands, transfer files, and modify system settings that are normally hidden from users.
When you disable an app via ADB, the application remains installed but enters a disabled state. It cannot run in the background, display notifications, or access system resources. This differs from uninstalling, as you can re-enable disabled apps at any time if needed.
Prerequisites
Before proceeding, gather the following:
- A computer running Windows, macOS, or Linux
- An USB cable for connecting your Android device
- The Android SDK Platform Tools installed on your computer
Installing Platform Tools
macOS (using Homebrew):
brew install --cask android-platform-tools
Linux (using apt):
sudo apt install adb fastboot
Windows: Download the standalone Platform Tools from the Android Developer website and extract the folder.
Verify the installation by running:
adb version
Enabling Developer Options and USB Debugging
Your Android device requires Developer Options enabled and USB Debugging turned on to accept ADB commands.
- Open Settings on your Android device
- Navigate to About Phone (usually at the bottom)
- Tap Build Number seven times to unlock Developer Options
- Go back to Settings, then System → Developer Options
- Enable USB Debugging
When you connect your device to the computer via USB, a prompt appears requesting authorization. Check the box for “Always allow from this computer” and tap Allow.
Discovering Package Names
Before disabling an app, you need its package name. Android assigns unique identifiers to each app, such as com.android.providers.telephony or com.google.android.gms.
Listing All Installed Apps
adb shell pm list packages
This command displays every package installed on your device, including system apps.
Filtering System Apps
To find system apps specifically, use:
adb shell pm list packages -s
Searching for Specific Apps
Combine with grep to search for specific apps:
adb shell pm list packages | grep google
This returns packages containing “google” in their name, such as com.google.android.gms (Google Play Services) or com.google.android.apps.photos (Google Photos).
Finding Package Names from App List
For a more detailed view showing app names alongside package names:
adb shell pm list packages -3 | while read pkg; do echo "$pkg $(adb shell dumpsys package $pkg | grep 'versionName' | head -1)"; done
Disabling System Apps
Once you have the package name, disabling the app requires a single command:
adb shell pm disable-user --user 0 com.example.package
Replace com.example.package with the actual package name you want to disable.
Common Privacy-Related Apps to Consider
Several system apps are known for background data collection:
| App Package | Description |
|---|---|
com.android.providers.calendar |
Calendar sync and data collection |
com.android.providers.contacts |
Contacts data management |
com.google.android.gms |
Google Play Services (disabling may break functionality) |
com.google.android.gsf |
Google Services Framework |
com.samsung.android.app.samsungpay |
Samsung Pay bloatware |
Exercise caution when disabling core system components. Disabling com.google.android.gms may cause crashes or prevent app updates from working.
Disabling vs. Uninstalling
ADB offers two approaches for removing apps:
Disable (Recommended for System Apps)
adb shell pm disable-user --user 0 com.example.package
This method:
- Keeps the APK file on the device
- Prevents the app from running or appearing in the launcher
- Allows re-enabling at any time
- Works without root access
Uninstall (Requires Root or Workaround)
For complete removal, use:
adb shell pm uninstall -k --user 0 com.example.package
The -k flag keeps the app’s data and cache, while --user 0 targets the primary user profile.
On non-rooted devices, this command only uninstalls updates for system apps, not the app itself. The system reverts to the original version on the next boot.
Re-enabling Disabled Apps
If you accidentally disable an essential app or change your mind, re-enable it:
adb shell pm enable com.example.package
To verify the current state of a package:
adb shell pm dump com.example.package | grep -E "(enabled|disabled)"
Practical Examples
Disable Google Chrome (if you use a different browser)
adb shell pm disable-user --user 0 com.android.chrome
Disable Facebook bloatware (common on Samsung devices)
adb shell pm disable-user --user 0 com.facebook.katana
Disable carrier bloatware (varies by carrier)
adb shell pm disable-user --user 0 com.carrier.name
Disable all Samsung Bixby components
adb shell pm disable-user --user 0 com.samsung.android.bixby.agent
adb shell pm disable-user --user 0 com.samsung.android.bixby.agent.dummy
Safety Precautions
When using ADB to disable apps, follow these guidelines:
Backup before making changes. Although disabling is reversible, create a backup of your important data.
Research before disabling. Some seemingly unnecessary apps are dependencies for other apps. If an app crashes after disabling, re-enable it and research the dependency.
Avoid disabling these core components:
com.android.phone— Phone functionalitycom.android.systemui— System interfacecom.android.launcher— Home screenandroid— Core Android framework
Test incrementally. Disable one app, restart your device, and verify everything works before disabling more apps.
Troubleshooting
Device Not Recognized
If adb devices shows “unauthorized”:
- Disconnect and reconnect the USB cable
- Check the authorization prompt on your device
- Try a different USB port or cable
- Revoke USB debugging authorizations in Developer Options and re-authorize
App Still Running After Disabling
Some apps have multiple processes or services. List all components:
adb shell cmd package list features
Or check running processes:
adb shell ps -A | grep package_name
Lost Play Store Access
If disabling Google Play Services causes Play Store issues:
adb shell pm enable com.android.vending
adb shell pm enable com.google.android.gms
Checking Disabled Apps
To see all disabled packages on your device:
adb shell pm list packages -d
This helps track which apps you’ve disabled and plan re-enabling if needed.
Performance and Privacy Benefits
After disabling unnecessary system apps, you may notice:
- Improved battery life due to fewer background processes
- Reduced data usage from disabled analytics and sync services
- Faster device performance with less CPU overhead
- Greater privacy control over data collection
Getting Started
Begin by listing installed packages and identifying apps you don’t use or trust. Start with non-essential apps like carrier bloatware, manufacturer additions, or pre-installed social media apps. Test your device’s functionality after each change, and maintain a list of disabled packages for reference.
ADB provides a powerful way to reclaim control over your Android device without voiding warranties or rooting. The disabled apps remain on your device but stop consuming resources or collecting data until you choose to re-enable them.
Related Articles
- Audit Android App Permissions with ADB
- Android Adb Commands For Removing Bloatware That Tracks User
- Configure Private DNS on Android for System-Wide Tracker
- Android Background Location Access Which Apps Track You When
- Android Work Profile for Isolating Apps That Require.
Built by theluckystrike — More at zovo.one