Privacy Tools Guide

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:

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.

  1. Open Settings on your Android device
  2. Navigate to About Phone (usually at the bottom)
  3. Tap Build Number seven times to unlock Developer Options
  4. Go back to Settings, then SystemDeveloper Options
  5. 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.

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:

adb shell pm disable-user --user 0 com.example.package

This method:

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:

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”:

  1. Disconnect and reconnect the USB cable
  2. Check the authorization prompt on your device
  3. Try a different USB port or cable
  4. 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:

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.

Built by theluckystrike — More at zovo.one