How to disable/remove unwanted apps from Android (no root)

How to disable/remove unwanted apps from Android (no root)

Some manufacturers bundle a lot of unnecessary and sometimes even suspicious apps with their devices. Some of these apps can still be uninstalled (if they’re addons) or disabled (if they’re system apps) if the manufacturer choose so, but for those specific apps that it wants to force on the user there’s no option to either uninstall or disable.

With a rooted device there’s no limit on what you can remove or change on the device you paid for, but in case you’re stuck with a non-rootable device there’s still a chance you may force disable or remove apps.

You’ll need to start with enabling Android’s developer options on the device, and then enable USB Debugging. The next time you connect your device to your computer it’ll attempt to install the necessary drivers, so make sure you have them on hand.

Continue with installing ADB – you can get the Google variety or the alternative “15 second” installer.

If drivers are properly installed, upon connecting it to the computer the device will prompt you to trust your computer – this is needed to give ADB access to the device.

Now start adb in a command prompt and run:

adb devices

If your device is connected and installed successfully, it should be listed as attached.

Enter the adb shell:

adb shell

Now you can use pm to list and (attempt to) disable/remove packages:

pm list packages

As this is Android’s command line, useful filtering tools like grep can be used to sort through the list.

The pm tools supports additional parameters for package listing:

 

pm list packages  
pm list packages -f Include associated apk file (useful to identify weirdly named apps)
pm list packages -e Show only enabled apps
pm list packages -d Show only disabled apps
pm list packages -s Show only system apps
pm list packages -3 Show only third party (downloaded) apps
pm list packages –user USER_ID Show only apps belonging to user identified by USER_ID

Once you’ve found the names of the annoying packages, disable them:

pm disable [--user 0] com.package.name

or remove them entirely if disabling fails and/or you’re sure you don’t want them around any more:

pm uninstall [-k] [--user 0] com.package.name

The --user 0 parameter is usually needed on newer Android versions to specify which user ID the pm utility needs to apply the changes to.

The -k parameter directs pm to not delete app data and cache (in case you choose to reinstall it later).

Be careful what you remove, though. Some apps could be deeply integrated into the general functionality by the manufacturer and can render your device unusable.

2024 Update

Having recently needed to disable the (famous by now) Emergency SOS app on a Nokia running Android 12, I discovered that the commands above no longer work and return a form of “permissions denied” error.

Fortunately Sergey over on Medium.com published an updated command that worked and which I have adapted for my device and application name:
pm disable-user app.name

Photo credit

 

Leave a Reply