Promotional image of the Xiaomi 12 phone, with a crossed out poop emoji in the corner

Xiaomi 12 - My New Old Phone and Removing its Bloatware

I was on the market for a new phone. My aging Pixel 3 XL was still better than most new budget phones today. But, it had a problem… Three out of four corners of of the screen are smashed up. I have replaced the screen protector thrice! Yet, every time the corners, somehow, get further crushed. It has become really irritating to use my phone where I basically get scratched by it every time. It’s gotten so bad that the broken glass on the corners have cut a hole in one of my pant pockets!

Photo of my Pixel 3 XL showing very damaged screen corners

New phones are expensive. Financing via monthly payments from cell network providers are deceptive as you often pay more than buying it outright. I have set aside a modest budget of $300 for my upgrade. This limited me to either getting an under powered budget phone or buying it second hand. I was close to settling on a Pixel 7 or a Pixel 6 Pro, but instead found a better (hardware wise) option. I was able to negotiate a $300 price for a Xiaomi 12 that was in great condition. Xiaomi phones are not popular where I live because they aren’t actually sold in brick and mortar retail stores in North America. I think the model I was sold was originally bought in Europe as the seller gave me a charger with a European electric fork. It does work with my cell carrier; I can call, text and get data. I don’t have a 5G data plan, so I cannot be sure if that works.

Stock versus custom firmware

I have considered immediately installing a custom firmware like LineageOS on it, and be one step closer to being free from Google. Xiaomi 12 is one of the devices LineageOS supports. However, I have to wait 30 days after creating a Xiaomi account before it lets me unlock the bootloader. Furthermore, I am little wary of doing this anyhow. I recall years ago when I hard bricked my Pixel 4a by accidentally flashing firmware for Pixel 4a 5g into it. Given that this phone still receives security updates to its stock system, there’s no need, yet…

The bloat

Now there are a lot of apps that come with the Xiaomi 12 phone pre-installed, even after a factory reset. Most of which I didn’t want, like Facebook, Amazon Shopping, and Genshin Impact. I spent some time going one by one uninstalling each one.

However, there are a set of apps that cannot be uninstalled or disabled such as “Google One” and “Game Centre”. 3 phone screenshots side by side. In the first screenshot shows the unsintall option for the app “Mi Remote”, the second shows a disable option for the app “Yellow Pages”, and the last screenshots shows neither option for the app “Game Centre”

Well that’s a bummer…

adb

Well I wont stand for it! Let me introduce you to my little friend, Android Debug Bridge (adb). It’s a handy command line tool to hack control an Android phone. Including installing and un-installing those pesky apps.

Now, I’m going to try NOT to brick my phone and be careful. If you, dear reader, are following along to do this on your own device, back up all your photos and files off your phone. Recall, earlier I mentioned how years ago I bricked my Pixel 4a? Well, all my photos are safe and sound because I made sure to back them up!

We do have to use the terminal for this, no friendly UI to click on. We are getting our hands dirty because the phone manufacture doesn’t want us to remove their precious bloatware!

Setup

Download and install SDK Platforms tools from here or via your Linux machine’s package manager:

Debian/Ubuntu/Mint

sudo apt install adb

Fedora

sudo dnf install adb

By default, the phone isn’t going to usefully respond to adb. You have to enable development options and USB debugging first.

For the Xiaomi 12 device, you go to Settings > About Phone > OS Version, and tap that seven times until a message shows up with “You are now a developer!”. You will then need to enable “USB debugging” in the new settings menu, Settings > Additional settings > Developer Options > USB debugging.

Then, plug the phone in, enable USB file transfer, and tap to approve on the pop up to debug.

On Linux or Mac open a terminal, on windows open command line. Now, we check the the device is connected.

Type in

adb devices

and hit ENTER on your keyboard.

If you see something like this

List of devices attached
83775278        unauthorized

check at your phone and click OK to Allow USB debugging.

List of devices attached
83775278        device

Great, now we can communicate with the phone from the computer.

Android’s package manager

Just like a Linux distribution, Android phones have their own package manager, pm. From there we can try disabling unwanted apps which we can later re-enable if we actually need them. But, first I need to find the package name of the app I want to disable. Starting with the Game Centre, in the App info clicking the triple dot in the top right corner reveals another App info option, click it and the APK name is revealed to be com.xiaomi.glgm.

Let’s disable it:

adb shell pm disable-user --user 0 com.xiaomi.glgm

Exception occurred while executing 'disable-user':
java.lang.SecurityException: Cannot disable system packages

Oh… that didn’t work… That’s a bummer, we can’t disable it because it set as a “system package”? What if we just try to uninstall it:

adb shell pm uninstall --user 0 com.xiaomi.glgm

Success

Wait, that does work!?

It’s no longer on my phone… it’s gone! It bothers me that it didn’t let me disable it because it’s labelled as a “system package”, but uninstalling it is fine?

So, how do we revert? Well, one option is to re-install the app from an app store. Unfortunately some apps, like the photo gallery app com.miui.gallery cannot be reinstalled. We can also perform a factory reset. That will bring back all the apps we deleted, including the ones removed via adb commands. Keep in mind doing this will also delete all your photos and files. You can find this under Settings -> About Phone -> Factory Reset. Assuming you didn’t accidentally the settings app!

What is safe to remove?

Here is the list of packages I deleted using adb commands without issues to phone usability (assuming you are willing to install different utility apps for things like file management and video playback).

package:com.amazon.appmanager
package:com.android.providers.downloads.ui
package:com.android.thememanager
package:com.facebook.services
package:com.facebook.system
package:com.google.android.apps.safetyhub
package:com.google.android.calendar
package:com.google.android.gmI removed
package:com.google.android.googlequicksearchbox
package:com.google.android.youtube
package:com.google.mainline.telemetry
package:com.mi.android.globalFileexplorer
package:com.microsoft.appmanager
package:com.microsoft.deviceintegrationservice
package:com.microsoftsdk.crossdeviceservicebroker
package:com.mi.globalminusscreen
package:com.miui.accessibility
package:com.miui.bugreport
package:com.miui.cloudbackup
package:com.miui.cloudservice
package:com.miui.micloudsync
package:com.miui.miservice
package:com.miui.mishare.connectivity
package:com.miui.player
package:com.miui.tsmclient
package:com.miui.videoplayer
package:com.miui.yellowpage
package:com.xiaomi.account
package:com.xiaomi.aicr
package:com.xiaomi.mi_connect_service
package:com.xiaomi.mipicks
package:com.xiaomi.mirror
package:com.xiaomi.payment
package:com.xiaomi.simactivate.service
package:com.xiaomi.xmsf

It is possible to remove more, but I have not been able to determine how safe doing so would be. The sources I found online claim a set of packages/apps are safe to delete. But, to me they seem questionable and incomplete.

I also deleted com.miui.gallery, which was a mistake. When trying to click on photo preview from the built in camera app, it doesn’t work. I even confirmed this when checking the logs:

CAM_ParallelProcessProvider: failed to find package
CAM_ParallelProcessProvider: android.content.pm.PackageManager$NameNotFoundException: com.miui.gallery

Oops!

A 3rd party camera app does solve this problem as you can select a different gallery application to use for previews. However, the image quality using 3rd part camera apps are worse; it’s best to keep the camera app meant for the phone’s specific camera.

Final thoughts

I find it frustrating how phone manufactures (Google, Samsung, Xiaomi) try to lock users from removing apps that they may not want and are falsely categorized as system apps. It’s my phone, I should have full autonomy without false barriers to customize it as I see fit!


I have been using this phone for a couple weeks now. Hardware wise the Xiaomi 12 is a nice phone with a notably big camera hump. The camera is really good and is a welcome upgrade from my previous device. It also has surprisingly loud and clear sounding speakers. It has no problems connecting to my carrier’s phone and data networks. The a full battery charge lasts me the whole day. All in all, after removing its preinstalled garbage, I am quite happy with my thrifty $300 device.

Credits

Written by Victor Efimov

Published on July 22, 2025