This guide explains how to de-bloat an Android device using adb shell. It is intended for users who cannot unlock their bootloader or gain root access, but still want control over what runs on their phone.
On many modern devices, especially Samsung, system apps cannot be fully removed because the bootloader is locked. This means traditional methods like rooting or flashing modified systems are not available. Instead, this guide uses ADB commands to disable or uninstall apps for the current user, which stops them from running and removes them from the device interface.
The focus is on eliminating unnecessary software, reducing background activity, and limiting telemetry or data collection from preinstalled services.
On modern Samsung phones, especially those sold in the United States, the bootloader is locked at a level you cannot control. The option called “OEM Unlock” is either missing or permanently disabled in the system. This is not a setting you can turn back on with commands or apps. It is controlled by Samsung’s firmware and, in many cases, by the carrier that sold the device.
When the phone boots, Samsung uses a chain of trust to verify that every part of the system is signed and approved. This process is enforced by their security system. If the device does not detect permission to unlock, it simply will not allow the bootloader to be opened. Even if you flash official firmware or try to downgrade the system, the lock remains in place because it is tied to the device and its security state, not just the installed software.
Because of this, there is no "official" working methods to unlock the bootloader on these devices unless Samsung has explicitly allowed it. Without unlocking the bootloader, rooting the phone or modifying the system at a deep level is not possible.
This is why if you want a device that is completely yours, and you want root access, do not buy a Samsung device, especially a modern one with OneUI and Knox.
One UI is Samsung’s customized version of Android. It is the layer that controls how the phone looks and behaves, including the home screen, settings, and many built-in apps. It is not just a launcher, but a full system layer that ties together Samsung’s features and services. Many Samsung apps rely on One UI to function correctly, which is why removing parts of it can cause things to stop working or disappear.
Knox is Samsung’s security platform that protects the device from being modified in unauthorized ways. It monitors the system during boot and while the phone is running to make sure nothing has been tampered with. If the bootloader is unlocked or the system is altered, Knox permanently records that change. It also plays a role in enforcing the bootloader lock by making sure the device only runs trusted, signed software.
When de-bloating your phone, you have two options below:
If you want to de-bloat your Android device using applications, you can download and install the following:
From each link provided below; download the .apk file to your mobile device and install it as you would any other manually installable android package.
If wanting to de-bloat your Android device manually, you must complete the following:
- Have Android Platform Tools installed on your system. This will include access to the
adbexecutable. - Phone connected via USB cable (with data transfer enabled); OR wireless debugging enabled.
- Open new Command Prompt / Terminal window
This is a list of useful commands needed to add / remove apps from your device. To run any of the commands below, ensure you open Command Prompt and then enter the Android adb shell using
> adb shell
Once in adb shell, run any of the following:
| Action | Command | Description |
|---|---|---|
| Disable app | pm disable-user --user 0 | Disables an app for the current user (user 0). App remains installed but cannot run. |
| Re-enable app | pm enable | Re-enables a previously disabled app. |
| Uninstall app (user only) | pm uninstall --user 0 | Removes the app for the current user only. App still exists on system partition. |
| Restore uninstalled app | cmd package install-existing | Reinstalls a system app that was removed for the user. |
| Restore (alternate) | pm install-existing | Same as above, older/alternate command depending on Android version. |
| List installed packages | pm list packages | Shows all apps currently installed for the user. |
| List all packages | pm list packages -u | Shows all packages including those not installed for the user. |
| List NOT installed packages | pm list packages -u | grep -v "$(pm list packages)" | Shows only apps that exist on system but are not installed for the user. |
| Check specific package | pm list packages | grep | Searches for a specific installed package. |
| Restart SystemUI | pkill com.android.systemui | Restarts the Android system UI (status bar, nav bar, etc). |
| Force stop app | am force-stop | Immediately stops a running app. |
| Clear app cache/data | pm clear | Clears app data and cache (resets app state). |
| Reboot device | reboot | Reboots the phone. |
This is a list of known Android and Samsung specific packages with a package name, and description for what each one does. Remove them as you see fit.
| Package | Name | Desc |
|---|---|---|
com.sec.android.easyonehand |
Easy OneHand | Shrink or adjust the interface for one-handed operation. |
com.android.providers.calendar |
Calendar Storage | Manages Calendar data between local storage (calendar.db) and cloud services, with sync adapters managing changes. |
com.google.android.projection.gearhead |
Android Auto | Mirrors your smartphone onto your car's display |
com.android.egg |
Android Easter Egg | Settings > About Phone > Repeatedly tap the Android Version box until the Easter egg appears |
com.sec.android.autodoodle.service |
Android Auto Doodle | Create 3D drawings in the camera app, which can lock onto faces or spaces |
com.facebook.appmanager |
Meta Background Service | Background service for meta-app updates, often bypassing the Google Play Store |
| Package | Name | Desc |
|---|---|---|
com.samsung.android.da.daagent |
Samsung Dual Authentication Agent | Allows running two separate accounts for apps like WhatsApp or Facebook. Part of Samsung Knox Security |
com.samsung.storyservice |
Samsung Gallery Stories | Auto scans Gallery images to generate, tag, and organize photo stories based on dates, locations, or events |
com.samsung.android.app.parentalcare |
Samsung Parental Controls | Adds parental controls to your device |
com.samsung.android.app.sharelive |
Samsung Quick Share | Wireless, peer-to-peer file sharing of photos, videos, and documents between nearby devices |
com.samsung.android.app.watchmanagerstub |
Samsung Smartwatch Manager | Used to manage smartwatches (Gear S2/S3, Fit2, Galaxy Watch) |
com.samsung.android.authfw |
Samsung Authentication Framework | System app designed to provide biometric authentication (fingerprint or iris scanning). Used for Samsung Pass |
com.samsung.android.aware.service |
Samsung Quick Share Agent | Context-awareness and sensor management. Typically requires background location access |
com.samsung.android.forest |
Samsung Digital Wellbeing | Manage screen time and reduce phone addiction on Galaxy devices |
com.samsung.android.game.gametools |
Samsung Game Booster | Quick access to screen recording, screenshot capturing, notification blocking, and navigation button locking |
com.samsung.android.knox.analytics.uploader |
Samsung Knox Analytics Uploader | |
com.samsung.android.lool |
Samsung Android Device Care | Optimize performance, manages battery, storage, and RAM on Samsung Galaxy devices. Will not get advanced battery settings if uninstalled |
com.samsung.android.samsungpass |
Samsung Pass | Biometric-enabled password manager and autofill service for Samsung Galaxy devices |
com.samsung.android.service.peoplestripe |
Samsung People | Quick access to favorite contacts on the Edge screen |
com.samsung.android.shortcutbackupservice |
Samsung ShortcutBNR | Back up and restore user-created app shortcuts, secure folder shortcuts, and specific UI shortcut settings via Samsung Cloud or Smart Switch |
com.samsung.android.smartface.overlay |
Samsung SmartFace | Keeps screen active if it detects your face |
com.samsung.android.themestore |
Samsung Galaxy Theme Store | Customization app for Galaxy devices to download themes, wallpapers, icons, and Always On Display (AOD) styles |
com.samsung.android.visual.cloudcore |
Samsung Visual Cloud Core | Acts as a bridge for cloud-based AI image generation |
com.samsung.android.widget.pictureframe |
Samsung Gallery Picture Frame Widget | Display personalized photo slideshows on Galaxy home screen |
com.samsung.android.wifi.ai |
Samsung WiFiAiService | Galaxy AI to enhance connectivity, including "Intelligent Wi-Fi" which learns network habits, switch to mobile data automatically to prevent drops, and identifies suspicious networks |
com.sec.android.app.launcher |
Samsung OneUI Home | Required for ||| nav button to work. Breaks Settings > Display > Navigation Bar menu option if you disable this service. |
com.sec.android.app.samsungapps |
Samsung Galaxy Store | Installs Samsung Galaxy Store |
com.sec.android.app.sbrowser |
Samsung Browser | Samsung Internet Browser app |
com.sec.android.daemonapp |
Samsung Weather | |
com.sec.android.diagmonagent |
Samsung Diagnostic Monitoring Agent | Sends diagnostic logs and errors to Samsung |
com.wsomacp |
Samsung Configuration message | Responsible for managingcarrier-related APN (Access Point Names) and network settings, often triggering notifications for service updates |
To completely disable a package on your phone, connect your phone via USB to a PC / laptop. Then run the following to start an ADB Shell:
adb shellNote
If you do not want to enter adb shell, you must append the text adb shell to the front of every command you run.
You can now enter the commands to disable a package:
pm disable-user --user 0 <package>
pm uninstall --user 0 <package>As an example, we'll disable Samsung's error-reporting and telemetry app:
pm disable-user --user 0 com.sec.android.diagmonagent
pm uninstall --user 0 com.sec.android.diagmonagentYou should see the message:
$ pm disable-user --user 0 com.sec.android.diagmonagent
Package com.sec.android.diagmonagent new state: disabled-user
$ pm uninstall --user 0 com.sec.android.diagmonagent
Success
This section outlines possible issues that may arise.
If you get the following error while attempting to access your Android device via adb shell, this means that you currently have more than one device registered. We can list all devices using the command:
$ adb devices
List of devices attached
R1AM32AEZF0 device usb
adb-R1AM32AEZF0-xNxh2w._adb-tls-connect._tcp device wirelessWe can run a command on a specific device with:
# adb -s <device_id> shell
adb -s adb-R1AM32AEZF0-xNxh2w._adb-tls-connect._tcp shellYou can also remove a second device from the list by running:
adb disconnectIf you are using an app to modify your DNS or you have DoH / DoT enabled, you may receive the following error:
Warning
Connect to a network to browse Galaxy Themes: (Typ_1/Net_true/Air_false Connect/772221/C100003)
You must disable your custom DNS configuration, if using apps such as BlockAds v5.x.