I finally found a few minutes to write up a short how-to on getting your Chinese Xiaomi Mi3 Smartphone rooted, westernized, and cleaned up!
To make your life much easier, I have actually written a couple of scripts that can be used to remove all of the Chinese bloatware from the phone, install the Google Play Store, and a separate script if you want to root your device.
Now, there are already several pre-packaged roms available that come somewhat cleaned up and with the Play Store pre-installed and are even rooted… however these are all based on development (dev) releases of roms from Xiaomi. In my experience, the dev roms tend to be a bit unstable and a bit sluggish compared with Xiaomi’s production releases. I have also found that the primary method Xiaomi promotes for flashing ROM’s, while very easy, isn’t the best and tends to result in bugs and issues. However there is another Xiaomi supported method using a feature called “fastboot” which is very easy and results in a solid install of Android.
A ROM is simply a type of software/firmware that is installed on special Read Only Memory. In this case the ROM files contain the operating system, Android, and other pertinent files that are required to make the phone work. The installation process is called “flashing” and the terms ROM and Firmware and usually interchangeable.
So the beauty of my method is that you get to use a production rom from Xiaomi which is stable and fast, but you get the advantages of a cleaned up dev rom in that it is totally stable, with a working, minimalist install of the Play Store and you can even root the device you choose. I am not a big fan of the MIUI launcher, nor will many western users be who are used to the advantages that come with using the Google Now launcher and its variants on other phones. Once you are finished with this tutorial you will have the latest features that Google is offering in Kit-Kat including voice actions (saying “OK Google” to your phone which tells it to listen to you and then you can ask for stuff or give commands).
So here is a high-level of what I will be walking you through in more detail.
- Installing Xioami “MiFlash” rom installation tool on your PC
- Flashing a stock production ROM from Xiaomi for the Mi3 WCDMA version of the device using Fastboot (the WCDMA version has the Snapdragon 800 Chipset).
- Running my first update package which will clean out the device and install the Play Store and Google Keyboard
- Setting up the Google Experience Launcher (Google Now) and Google Keyboard.
- Enabling the Google Experience Launcher, Google Keyboard, and setting up the Play Store.
- (Optional) Running the second update package which will root the stock rom I provide
The whole process above should take less than 45 minutes.
What you will need:
- A computer running Windows 7
- The phone with at least 75% battery charge
- The Micro-USB Data/Charging cable
A Few of Disclaimers:
- Flashing roms always comes with some inherent risk (i.e. especially if your device’s USB data cable comes unplugged during the flashing process). I am not responsible. This is a safe/tested method supported by Xiaomi for installing a rom on your device and this is their ROM so we aren’t doing anything crazy here, but it has to be said.
- The root script package I provide is ONLY for the Mi3 and ONLY for the ROM I provide. It may work on other roms but isn’t recommended as the method of rooting a production ROM from Xiaomi involves replacing the build.prop file which is specific to the rom.
- This method will completely wipe all personal data and settings from the phone. It will be more or less like a brand new unit fresh out of the box.
Okay, lets get started… Using Fastboot to Flash a ROM on the Xiaomi Mi3
Remove your device’s SIM card until we are finished and power off your phone.
You need to download this package and unzip to a folder on your PC:
Unzip the package you downloaded above to a new folder on your Computer’s desktop.
Open up the folder: “Step 1 – Flashing” and run the “MiPhone20140509.exe” to install the Xiaomi Flashoot flashing app and required drivers. You may get some kind of red warning from windows about installing the drivers, just proceed through.
Noe, on your computer, go to the start menu and start the “MiFlash” program. A box will pop up. In the upper-left-hand side you should see a “browse” button, click it. Browse to the folder on your desktop where you unpacked the package you downloaded above. Inside of there, browse to the “Step 1 – Flashing” folder and finally select the “cancro_images_KXDCNBE18.0_4.4_cn-fastboot” folder and highlight it. Click “OK”. You will be returned to the main screen of the MiFlash program.
Next, next to the “browse” button, should be a little “down arrow”, click that, choose “advanced”. You will be shown a list of files with a “browse” button to the right of each. The very top file is a line called “fastboot script”, click the “browse” button next to it. Select the “flash_all.bat” file and then click “open”. You will be returned back to the screen with the list of files, click “ok”, you will be returned to the main screen.
Your phone should be powered off completely. Hold down the Volume Down key and hold the power button. You can release the power button once the device starts to boot but continue holding the volume down key until you see the Xioami logo with the word “fastboot” underneath. You phone is in “flashboot mode” now and is ready for flashing. Plug in the USB Data cable from your phone to your pc.
In the MiFlash application, hit the “refresh” button and you should see your phone appear in the white area down below. If it has appeared, click “flash” and wait for it to finish installing the firmware. Once the progress bar at the bottom has completely finished out you can unplug your phone (which will start to boot on its own).
The worst is over… Loading and Running the Update Files on your Xiaomi Mi3
On your phone, you should get the Xiaomi first time launch program once everything has booted up. If you phone went to sleep, just tap the power button once to wake it up. Do the following:
1. Choose English as the language
2. Skip Setting up Wifi
3. Skip setting up the SIM card and if it complains about the SIM just tell it you want to go ahead and start using the device (i.e. don’t shutdown).
Now, plug you phone back into your computer and wait for your computer to recognize it. Once it does, go to “My Computer” and find it (should show up like a media player device). Double click it and you should then see “internal storage”. Double-Click “internal storage” and wait a moment and you should see a bunch of folders. Leave this open for a moment.
Going back to the unzipped folder you downloaded from here, open up the “Step 2 – Update Zips” folder. You will see to zip files inside. DO NOT UNZIP THESE FILES. Just copy and paste them directly into your phones internal storage which should be open in the other window. Once they are both done fully copying, you can disconnect your device from your PC. We are done with your computer and everything else from here on out will be done on the phone.
On your phone, you should see a “settings” icon on one of the home screens, tap it to open your settings menu. There are two settings panels, “quick settings” and “general settings”. You need to slide your finger over to go to the “general settings” menu. Scroll all the way to the bottom of the menu. Tap “about phone” which will take you to a new screen. At the bottom of the “about phone” screen is a button with an up arrow on it called “system updates”, tap it. If it starts to try to check for an update (you should not have a wifi connection setup at this point) just tap anywhere on the screen to bypass the check. On your phone, tap the capacitive “menu” button (three capacitive touch buttons on the bottom front face of the screen that light up whenever you are using the phone, the button on the left that is three horizontal lines is the “menu” button). A menu will pop-up on the screen, tap “Select update package”. You will be taken to a screen showing your file system, scroll to the bottom and find the “cleanupANDgapps.zip” file that we copied to the device earlier and select it. You will be taken to a new screen, choose “update” and then wait for it to finish updating. You should be prompted to reboot the device at the conclusion of the update, please reboot the device. If you aren’t prompted, please go ahead and reboot the device.
You phone is now cleaned up and the Google Play store is installed.
A few final items once your phone reboots. Setting up the Google Keyboard, Google Now Launcher, and Play Store on your Xiaomi Mi3
Setup the Google Keyboard:
There should be an icon on one of your phone’s home screens for the “google keyboard”, tap it and walkthrough setting it up as your main keyboard. If for some reason the device still isn’t using the Google Keyboard by default as it should, then go to the settings menu –> general settings –> scroll down –> language and input –> tap “google keyboard” and “ok” at the prompt that comes up. All done!
Setup the Google Play Store and then Finally the Google NOW Launcher:
1. From your phones home screen, tap the “play store” icon and walkthrough the setup. You will need to setup a wifi connection and login to the store with your google account.
2. Once you get into the play store, search for “google now”. “Google Now Launcher” should be one of the top results, select it. It will show installed. Uninstall the launcher and then reinstall it (this was a bug with the update script I couldn’t work out and it has to be reinstalled to function properly).
3. Once it finishes installing go back to the play store and search for “google search” – Google Search should be one of the top items that shows up, tap on it. If it needs to be updated, update it, then tap “open”. You will be guided through setting up “Google Search” on your device, complete the setup.
4. Finally, set the Google Now launcher as your default launcher. To do this, go to the “settings” menu again on the phone and then: general settings –> apps –> at the bottom of the screen tap the “default app settings” button –> tap “launcher” –> select “Google Search” –> hit the capacitive “home” button on the front face of your phone (bottom, three buttons, home key is the one in the middle) –> You will be walked through setting up the Google NOW launcher. Once you are done doing that you are ALL DONE!
PS – If you want root, go back to the settings menu –> general –> about phone –> capacitive “menu” button –> “select update package” –> find and tap on the “enable-root.zip” –> run the update –> reboot the device. THEN:
Go to your app drawer –> Find the xiaomi “security” app and open it –> tap “permission” –> tap the little slider next to “root permission” –> ALL DONE!
Shew! That was a lot! Once you are finished though your device should be in really good shape, run a lot like a Nexus 5 device and overall FLY!
A few parting words…
1. OTA updates should still work if you didn’t root your device. If you did root your device, you can still get OTA updates but once flashed, they will probably remove root. Don’t re-run the root update package once you have installed an OTA update as it is no longer applicable. You can, it will probably work, but you are replacing your phones build.prop with an older one which may cause issues. If you don’t know what I am talking about, just don’t bother rooting the device in the first place and/or don’t root it again once you have installed an OTA update.
2. This roots the running OS on the phone and root permissions work just fine. I tested ES File Explorer and ROOT functions work great. However this doesn’t allow for you to elevate ADB connections to ROOT. I am not sure why. If you don’t know what an ADB connection is, don’t worry about it.
3. OTA Updates may install a bunch of the chinese junk I removed with my script. If that is the case, it should be safe to re-run that initial script again to clean everything up. I can’t account for what apps Xiaomi might ADD to their builds in the future so it might not completely clean up the device anymore as I have to delete each package file by name in the script.
4. If you like to tinker… which I do… I included an “extras – Update-package-manager-creator” folder. Inside or some tools. These are not applications I created and the source link/author escapes me at the moment. Suffice to say, it can be used to make update packages like the ones I created. Feel free to play about and ask questions in the comments if you have them, I am not going to go into detail on the usage of the program here.
5. Several Xiaomi apps were left in place. There was good reason for this… the explorer app must remain as it is needed if you want to install update packages, the Mi Store is actually a very useful app store once you get an account and don’t mind ignoring the Chinese character (unless you can read Chinese in which case more power to you :)…). Other apps like the security app work really well an are quite useful, I could go on…
UPDATE 08/14/2014 – Tinkering about yesterday with contacts and I realized I had forgotten to include the “google contact sync” application that runs in the background and allows you to sync contacts to you phone/dialer from your google account. Never fear! I did leave the Xiaomi Market application place. Open the Xiaomi Market app, search for Google, install the first app in the results from developer Eric (it is a google program installer), open up that app, install google contact sync, all done! I will probably include it if I make a future release of the script! Cheers!
Thus far I have been running my my modified stock rom (using methods outlined in the article) for a few weeks now and I actually got my phone activated with AT&T two days ago so using it as a phone for the last two days… All I have to say is wow! I have my device loaded with apps and use it heavily during the day, everything works great all the time! Never the slightest hint of sluggishness… and I am running on moderate/low power mode 🙂
I will wait a few weeks/months before updating firmware, when I do I will probably update the scripts and particularly the root script as well.