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.
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
- Why are there ads on Xiaomi devices?
- Before you start: backup and safety rules
- Step 1: Turning off ad and recommendation services in settings
- Step 2: Installing ADB and preparing the phone
- Step 3: Listing and removing packages
- Packages that can be safely removed
- Packages that must never be removed
- Restoring a package
- Common problems
- 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.systemAdSolutionon 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.
- Make a backup. Back up your data via Settings > About > Backup and restore (or Mi Cloud / Google Backup).
- Disable first, then remove. Instead of removing an app, first disable it with
pm disable-userand try it for a few days. - Remove packages one at a time. Do not blindly run a bulk list as a script.
- Do not touch core system packages (see section 7).
- 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. - 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
- Settings > Passwords and security > Privacy > Ad services > turn off Personalized ad recommendations.
- 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
- Go to Settings > About phone > tap the OS version line 7 times (on MIUI, MIUI version).
- Go to Settings > Additional settings > Developer options > turn on USB debugging.
- Connect the phone via USB and select the File transfer mode in the notification.
- 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, onlypm disable-usercan 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.joyoseis 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
- Make a backup.
- Turn off personalized ads, MSA permission, usage and diagnostics, and in-app recommendations in Settings.
- Install Android Platform Tools, enable USB debugging, and verify the connection with
adb devices. - View the actual package names on the device with
adb shell pm list packages. - First apply
pm disable-user --user 0, and if there are no issues,pm uninstall -k --user 0. - Do not touch core packages (the tables in sections 6 and 7).
- If there is a problem, restore with
cmd package install-existing. - 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.