Modern Android phones ship with dozens of pre-installed apps you never asked for — carrier bloatware, manufacturer analytics, regional advertising SDKs, and redundant Google apps. Many of these run in the background, collect data, and cannot be uninstalled through the normal Settings menu. The Android Debug Bridge (ADB) lets you remove or disable them without rooting your device.
Why Debloat? The Privacy Case
Pre-installed apps often have permissions that user-installed apps cannot get, including access to device identifiers, call logs, and precise location. Samsung phones, for example, ship with Samsung Analytics, Bixby, and in some regions, apps from third-party data brokers. Google Pixel phones include several Google services apps that continuously ping Google servers even when you are not using them. Removing or disabling these reduces your attack surface and data exposure significantly.
Step 1: Enable Developer Options
- Open Settings > About Phone.
- Tap Build Number seven times. You will see a toast message saying “You are now a developer.”
- Go back to Settings > Developer Options.
- Enable USB Debugging.
On Samsung devices, Developer Options is at Settings > About Phone > Software Information > Build Number.
Step 2: Install ADB on Your Computer
Windows (via Winget):
winget install Google.PlatformTools
macOS:
brew install android-platform-tools
Linux (Ubuntu/Debian):
sudo apt install adb
Verify the installation:
adb version
Step 3: Connect via USB or WiFi
USB connection: Connect your phone with a USB cable. On the phone, tap Allow when prompted for USB debugging authorization. Verify the connection:
adb devices
You should see your device listed with device status (not unauthorized).
ADB over WiFi (Android 11+): This avoids the cable and is useful for ongoing management.
- In Developer Options, tap Wireless debugging.
- Tap Pair device with pairing code. Note the IP address, port, and pairing code.
- On your computer:
adb pair 192.168.1.X:PORT PAIRINGCODE
adb connect 192.168.1.X:DEBUGPORT
Replace the IP, port, and pairing code with the values shown on your phone.
Step 4: Universal Android Debloater (UAD)
Manually researching which packages to remove is tedious. Universal Android Debloater Next Generation (UAD-NG) provides a GUI with curated package lists and safety ratings.
Download from the UAD-NG GitHub releases page. It is a single executable — no installation needed.
Launch UAD-NG with your device connected and ADB authorized. The app will detect your device model and display installed packages with recommended removal status:
- Recommended — Safe to remove, no functionality impact
- Expert — Requires testing; some users need these
- Unsafe — Do not remove without understanding the consequences
UAD-NG uses pm uninstall --user 0 rather than a true system uninstall. This removes the app for your user account but leaves the APK in the system partition. If anything breaks, you can restore the package:
adb shell pm install-existing PACKAGE.NAME
Packages to Remove by Manufacturer
Samsung (One UI)
| Package | What It Is |
|---|---|
com.samsung.android.bixby.agent | Bixby voice assistant |
com.samsung.android.app.spage | Samsung Free (news/content feed) |
com.samsung.android.game.gamehome | Samsung Game Launcher |
com.sec.android.app.sbrowserhome | Samsung Internet home page |
com.samsung.android.kidsinstaller | Samsung Kids installer |
com.samsung.android.rubin.app | Samsung analytics SDK |
com.mxtech.videoplayer.samsung | MX Player (bundled) |
Google Pixel (Stock Android)
| Package | What It Is |
|---|---|
com.google.android.apps.photos | Google Photos (if using alternative) |
com.google.android.youtube | YouTube (if using NewPipe) |
com.google.android.gms.policy_sidecar_aps | Google Pixel health data |
com.google.android.apps.subscriptions.red | Google One |
com.google.android.apps.recorder | Recorder with transcription |
Note: Removing core Google Play Services (com.google.android.gms) will break most apps. Target peripheral Google apps, not core framework packages.
OnePlus (OxygenOS)
| Package | What It Is |
|---|---|
com.heytap.market | OPPO/OnePlus app store |
com.oneplus.brickmode | OnePlus brick mode |
com.oneplus.gamespace | Game Space |
com.oneplus.weather | OnePlus Weather |
Manual ADB Package Commands
If you prefer not to use UAD-NG, you can manage packages directly:
List all installed packages:
adb shell pm list packages
Disable a package (reversible, keeps data):
adb shell pm disable-user --user 0 com.samsung.android.bixby.agent
Uninstall a package for current user:
adb shell pm uninstall --user 0 com.samsung.android.bixby.agent
Re-enable a disabled package:
adb shell pm enable com.samsung.android.bixby.agent
Additional Privacy Tweaks via ADB
While you have ADB connected, consider these additional hardening steps:
Disable sensors for specific apps (Android 12+):
adb shell appops set PACKAGE_NAME android:sensor_privacy_enabled ignore
Enable DNS over TLS globally:
adb shell settings put global private_dns_mode hostname
adb shell settings put global private_dns_specifier dns.mullvad.net
Revoke permissions from pre-installed apps:
adb shell pm revoke com.samsung.android.rubin.app android.permission.ACCESS_FINE_LOCATION
Caveats and Safety Notes
- Some carrier-locked phones will re-install removed packages after a factory reset or OTA update. You may need to re-run debloating after system updates.
- Removing system apps can occasionally cause Settings crashes or other instability. UAD-NG’s safety ratings help avoid the worst cases.
- This process does not require root and does not void your warranty in most jurisdictions.
- For the most comprehensive privacy hardening, consider a custom ROM like GrapheneOS (Pixel only) or CalyxOS, which removes Google entirely.
Debloating with ADB is one of the highest-impact, lowest-risk privacy improvements you can make to a stock Android phone.