Machine translation from Turkish (Cloudflare Workers AI), not reviewed by the author. Read the Turkish original

← Posts

A Guide to Safely Removing Ads and Unnecessary Apps on Xiaomi, Poco and Redmi (HyperOS / MIUI, Without Root)

Score —

A guide to turning off ads and safely removing unnecessary system apps with ADB on Xiaomi, Poco and Redmi phones without root or unlocking the bootloader. Step-by-step method, safe and risky package list, restore command.

· 8 min read
Contents

Summary: This explains why ads appear on Xiaomi, Poco and Redmi phones and how to clean them up in two stages without root or unlocking the bootloader: first, ad and recommendation services are turned off in settings, then unnecessary packages are removed with ADB. The guide also lists packages that can be safely removed and packages that must never be touched, how to restore a removed package, and common problems.

Short answer: On Xiaomi, Poco and Redmi phones, you can remove ads and unnecessary apps without root, without unlocking the bootloader and without voiding the warranty. The method has two layers: (1) turning off ad and recommendation services in settings, (2) removing unnecessary system apps with ADB only for the current user (--user 0). This process does not modify the system partition, and every package can be restored with a single command.

This guide applies to devices running HyperOS (Xiaomi 13 and later, Redmi Note 13 and later, Poco F6/X6 and later) and MIUI 12-14. The commands are the same on Linux, macOS and Windows.

Contents

  1. Why are there ads on Xiaomi devices?
  2. Before you start: backup and safety rules
  3. Step 1: Turning off ad and recommendation services in settings
  4. Step 2: Installing ADB and preparing the phone
  5. Step 3: Listing and removing packages
  6. Packages that can be safely removed
  7. Packages that must never be removed
  8. Restoring a package
  9. Common problems
  10. Frequently asked questions

1. Why are there ads on Xiaomi devices?

Xiaomi sells hardware with low profit margins; part of its revenue comes from in-software ads and recommendation services. These services are especially visible in the following components:

  • MSA (MIUI System Ads): The service that provides ads to system apps (com.miui.msa.global, com.miui.systemAdSolution on Chinese versions).
  • Mi Analytics: The service that collects usage telemetry (com.miui.analytics).
  • Security, Themes, Music, File Manager, Mi Browser, GetApps: System apps that contain recommendation cards and ads.
  • Notification recommendations: "Recommended apps" and campaign notifications.

The amount of ads varies by region (Global, Turkey, China, India) and ROM version. Global ROM is used for Turkey.

2. Before you start: backup and safety rules

Important: Removing the wrong package with ADB can put the device into a boot loop. Follow the rules below.

  1. Make a backup. Back up your data via Settings > About > Backup and restore (or Mi Cloud / Google Backup).
  2. Disable first, then remove. Instead of removing an app, first disable it with pm disable-user and try it for a few days.
  3. Remove packages one at a time. Do not blindly run a bulk list as a script.
  4. Do not touch core system packages (see section 7).
  5. Use only --user 0. This flag does not delete the app from the system partition, it only hides it for the main user. The packages come back after a factory reset.
  6. Before removing, verify the package name from your device, not from random lists on the internet (pm list packages).

3. Step 1: Turning off ad and recommendation services in settings

Make these settings before ADB. Most ads are turned off here and there is no risk involved.

Personalized ads and MSA

  1. Settings > Passwords and security > Privacy > Ad services > turn off Personalized ad recommendations.
  2. Settings > Passwords and security > Privacy > Authorization and revocation > revoke the msa permission (wait for the countdown).

App-based recommendations

  • Security app: Settings (gear icon in the top right) > turn off Receive recommendations and Receive ads.
  • Themes: Settings > Show recommendations should be off.
  • Music / Video / File Manager: In each app's settings, turn off Show recommendations and Personalized recommendations.
  • Mi Browser: Settings > Advanced > turn off Show recommendations (or disable the app).
  • Folder recommendations: On the home screen, open a folder, tap the folder name and turn off Show recommended apps.
  • GetApps (Mi Picks): Turn off notifications under Settings > Apps > Permissions.

Telemetry

  • Settings > Passwords and security > Privacy > turn off Usage and diagnostics.
  • In the same section, turn off the User experience program.

4. Step 2: Installing ADB and preparing the phone

ADB (Android Debug Bridge) is part of Google's official Android Platform Tools package.

Installing on a computer

# Arch / Omarchy
sudo pacman -S android-tools

# Debian / Ubuntu
sudo apt install adb

# macOS (Homebrew)
brew install android-platform-tools

On Windows, download and extract the official package from developer.android.com/tools/releases/platform-tools.

Enabling developer options on the phone

  1. Go to Settings > About phone > tap the OS version line 7 times (on MIUI, MIUI version).
  2. Go to Settings > Additional settings > Developer options > turn on USB debugging.
  3. Connect the phone via USB and select the File transfer mode in the notification.
  4. In the "Allow USB debugging" window that appears, check the computer's fingerprint and confirm.

Note: The "USB debugging (Security settings)" option is not required for uninstalling packages; this option is only for tap simulation via ADB. Do not grant unnecessary permissions and turn off USB debugging when you are done.

Verifying the connection

adb devices

The output should show device next to the device serial number. If it shows unauthorized, confirm the permission window on the phone.

5. Step 3: Listing and uninstalling packages

Listing all packages on the device

# Tüm paketler
adb shell pm list packages

# Yalnızca sistem paketleri
adb shell pm list packages -s

# Belirli bir marka veya kelime
adb shell pm list packages | grep -i miui

Uninstalling a package from the main user (recommended method)

adb shell pm uninstall -k --user 0 <paket.adi>

The -k flag preserves data and cache, while --user 0 uninstalls only for the primary user. If successful, it outputs Success.

Disable first (safer)

adb shell pm disable-user --user 0 <paket.adi>

This command does not uninstall the package, it only stops it. If something goes wrong, it can be re-enabled with a single command:

adb shell pm enable <paket.adi>

Example: Uninstalling Mi Analytics

adb shell pm uninstall -k --user 0 com.miui.analytics

Error messages

  • Failure [DELETE_FAILED_INTERNAL_ERROR]: The package name is wrong or it has already been uninstalled.
  • Failure [DELETE_FAILED_DEVICE_POLICY_MANAGER]: The package is protected by device management; try disabling it.
  • java.lang.SecurityException: ... requires android.permission.DELETE_PACKAGES: On some HyperOS versions, only pm disable-user can be used.

6. Packages that can be safely uninstalled

The following packages are commonly uninstalled and do not break the system. Package names vary by ROM and region; only process the ones listed on your device.

Package name App / service Note
com.miui.analytics Mi Analytics Telemetry
com.miui.msa.global MSA (system ads) Global ROM; China: com.miui.systemAdSolution
com.miui.bugreport Bug report Telemetry
com.xiaomi.mipicks GetApps App store and ads
com.mi.globalbrowser Mi Browser If you use another browser
com.miui.player Mi Music Contains recommendations and ads
com.miui.videoplayer Mi Video Contains recommendations and ads
com.miui.yellowpage Yellow Pages / Mi Contacts service Caller ID ads
com.miui.hybrid Quick apps If not used
com.xiaomi.glgm Game Center (Games) If not used
com.facebook.appmanager Facebook App Manager Preinstalled
com.facebook.services Facebook Services Preinstalled
com.facebook.system Facebook System Preinstalled
com.netflix.partner.activation Netflix activation Preinstalled
com.miui.cleaner Cleaner Only if you use a separate cleaning tool
com.miui.notes Mi Notes If you use another notes app

Tip: If you are not sure what a package is, first stop it with disable-user, use it for a week, and remove it if there are no problems.

7. Packages that should never be removed

The following packages are part of the interface, security and hardware management. Removing or disabling them can lead to a boot loop, lock screen failure or loss of performance.

Package name Why it should not be removed
com.miui.home Home screen (launcher); if removed, the interface will not open
com.android.systemui Status bar, notifications, lock screen
com.miui.securitycenter Security and permission management; many system features depend on it
com.xiaomi.joyose Thermal and performance management; removing it can disrupt gaming and heat behavior
com.miui.powerkeeper Battery and background management
com.android.phone, com.android.providers.* Calls, SMS, contacts, data providers
com.miui.system, com.android.settings Core system and settings
com.google.android.gms Google Play Services; notifications and many apps depend on it
com.xiaomi.finddevice / com.miui.cloudservice Find My Device and cloud sync; account-based security
com.android.vending Google Play Store

Warning: com.xiaomi.joyose is often recommended online as “unnecessary telemetry”. However, it manages thermal and performance profiles. Research its side effects before removing it; our recommendation is not to touch it.

8. Restoring a package

You can restore a package you removed by mistake without returning to factory settings:

adb shell cmd package install-existing <paket.adi>

Alternative older method:

adb shell pm install-existing --user 0 <paket.adi>

If the phone won't turn on, try Wipe cache from Recovery; it doesn't erase data. If that doesn't work either, a factory reset restores all system packages removed with --user 0.

9. Common issues

Apps came back after an update. System updates (OTA) sometimes re-enable removed packages for the current user. Save the removal commands to a script file and run them again after the update.

adb devices appears empty. Change the cable, select File transfer mode, check the USB configuration section in developer options, and on Linux make sure the udev rules are installed.

Ads still appear after removal. Check that the personalized ads option in Settings is turned off, that you have revoked MSA permission, and that you have disabled the recommendation settings in the relevant apps. Browser and third-party app ads cannot be removed at the system level.

Are warranty and security updates affected? No. Since the bootloader is not unlocked, the device is not rooted, and the system partition is not modified, the warranty, SafetyNet / Play Integrity, and banking apps are not affected.

10. Frequently asked questions

Can I completely disable ads on Xiaomi phones?

You can disable most system ads. Turning off personalized ads and MSA permission in Settings, then removing the MSA and Analytics packages with ADB, largely eliminates system-wide ads. Ads in third-party apps are not removed by this method.

Do I need root or to unlock the bootloader?

No. The adb shell pm uninstall -k --user 0 command does not require root, and there is no need to unlock the bootloader.

Does this void the warranty?

No. It does not modify the system partition and does not permanently change the device software. A factory reset restores everything.

How do I restore an app I removed?

Run the adb shell cmd package install-existing <package.name> command.

Is there a difference between HyperOS and MIUI?

The method is the same. Some package names and settings menu locations may change; always verify packages with pm list packages.

Which packages should I never touch?

com.miui.home, com.android.systemui, com.miui.securitycenter, com.xiaomi.joyose, com.miui.powerkeeper, com.google.android.gms, and the phone/SMS providers. These are required for the system to work.

Does this method also work on Poco and Redmi devices?

Yes. Poco, Redmi, and Xiaomi use the same MIUI / HyperOS base. On Poco devices, also pay attention to the Poco Launcher packages; install an alternative home screen before removing the launcher.

Is there an alternative to ADB for the same process?

Shizuku-based tools running on the phone also use the same pm commands, but since you grant permission to a third-party app, using official ADB from a computer is more transparent and safer.

Summary of the process order

  1. Make a backup.
  2. Turn off personalized ads, MSA permission, usage and diagnostics, and in-app recommendations in Settings.
  3. Install Android Platform Tools, enable USB debugging, and verify the connection with adb devices.
  4. View the actual package names on the device with adb shell pm list packages.
  5. First apply pm disable-user --user 0, and if there are no issues, pm uninstall -k --user 0.
  6. Do not touch core packages (the tables in sections 6 and 7).
  7. If there is a problem, restore with cmd package install-existing.
  8. Turn off USB debugging when you are done.

This guide uses the device manufacturer's official Android tools and does not permanently modify the software. Package names may vary by ROM version; the responsibility for the process lies with the user. Last updated: 05/10/2026.

My reading

  • Backup first, then uninstall: the process is reversible, but the wrong package can make the phone unbootable.
  • The Settings menu solves half the problem: most ad and recommendation services can be turned off without needing ADB.
  • Uninstalling is not deleting: a package uninstalled via ADB is removed for the user and comes back with a single command.

Sources