Android Bloatware

How to get rid of packages

Uninstalling packages

First you may try to just uninstall the packages with:

adb shell pm uninstall <package_id>

where <package_id> is the internal package ID (not the displayname), e.g.

This only works for apps that are also uninstallable via GUI. See below how to remove packages nevertheless.

Note: In some cases the automatic package provisioning service of Google-enabled phones reinstalls bloatware packages after some time or when the autoprovisioner gets updated. If you notice an uninstalled app coming back, just disable it (see below).

Disabling packages

Most bloatware is installed in the system partition. This means that you may technically “uninstall” updates to the package. The originally provisioned base version of the package remains installed and active though. In that case you have to disable the package in order to prevent it from running.

You may disable packages manually via the GUI (‘app info’ > ‘Disable’) or by using the package manager pm via ADB:

adb shell pm disable-user <package_id>

Force disabling packages

Some packages are configured in a way that they can’t be disabled via GUI and/or ADB. Maybe you also want to make sure they never get enabled again.

Therefore you have to mark them as “uninstalled for the user” (user ‘0’).

adb shell pm uninstall -k --user 0 <package_id>

With the-k-switch above, the package is not deleted but only set to an “uninstalled” state.

You may restore a package uninstalled this way via:

adb shell pm install-existing <package_id>

Bloatware list

Here is a list of some (common, vendor independent) apps that may be disabled.

Note: Even on a modern LineageOS installation without GApps there are bloatware apps provisioned via the vendor repos (e.g. Pixel 4a).
Here be dragons

Disabling system apps may lead to a loss of (critical) functionality and/or increased battery drain (yes, increased. As some system apps blindly try to call dependency activities which don’t exist anymore and even may crash in the process of doing so).

If you are unsure whether your system needs one of the apps to function properly, do not disable them.

These information is based on my personal usage pattern and research. YMMV.

System bloatware

These packages enable some system features (e.g. behavior analysis for “enhancing the user experience”).

App name Package ID Functionality
Adaptive Connectivity Services Automatically switches basebands between LTE and 5G on demand. Seems to be only used for stock pixel devices.
Device Personalization Services / Actions Services Device learning, e.g. enhanced keyboard autosuggestions, keep screen on when looking at it (with help of the camera), smart replies. Shows up under: Display > Lock Screen > Now Playing and Privacy > Device Personalization Services.
Private Compute Services On-device behavior analysis. Enables live caption, music recognition and smart replies
Google Assistant (1) Voice training for Google Assistant.
Google Assistant (2) Voice training for Google Assistant.
Google Assistant (3) Voice training for Google Assistant.
Google Connectivity Services Google curated public Wi-Fi access and Google managed VPNs.
Google Fi Only needed for Google Fi users.
Pixel Ambient Services Detects device movement, ambient audio, other devices nearby, etc. Seems to work in conjunction with “Device Personalization Services”
Android Accessibility Suite A.k.a. “Talkback”. Basically a screen reader.
Google Google (voice) search and search box
Gboard Google Keyboard with online prediction
Digital Wellbeing Records your habits to “optimize your life balance”. A euphemism for tracking even more stuff you do.

App bloatware

These packages provide user functionality or access to online services. They are always installable by the user on most Android devices via Google Play Store.

App name Package ID
Google Files
Google Photos
Google Lens

Vendor spyware list

Here goes a list of verified packages that only harvest data without enhancing usablity or offering any functionality (a.k.a. spyware). These ones often ship with various devices and shoud be uninstalled AND disabled (in that order) to make sure they never get activated again:

adb shell pm uninstall -k --user 0 <package_id> && adb shell pm disable-user <package_id>
App name Package ID Vendor
Diaglogger com.huaqin.diaglogger Xiaomi
Spock com.miui.spock Xiaomi
Feedback com.miui.bugreport Xiaomi
Fingerpirnt test (yes, fingerpirnt) com.goodix.gftest Xiaomi
PAI android.autoinstalls.config.Xiaomi.daisy Xiaomi
Qualcomm “Mobile Security” com.qualcomm.qti.qms.service.telemetry Samsung/Xiaomi
QTR com.qualcomm.qti.smq Xiaomi