Android is perhaps the most widely used mobile OS in the world today with more than 2.5 billion active users. Android is an open-source operating system that rivaled Nokia’s Symbian OS and eventually ousted it from the competition and was acquired by Google for a what might seem a paltry sum today of just $50 million. Android offers its users extreme levels of cosmetic customization with a large number of developers creating applications and contribute to its development.
Quick Introduction to Custom ROMS and Flashing
A significant part of Android’s customization feature is allowing users to switch the OS of the device itself with another Android-based OS. These OSs are called ROMs. After obtaining proper permissions an Android user can swap the ROM of the smartphone or tablet, he/she is using and flash a third-party ROM that has been customized to suit his/her device. These ROMs could be for a different device altogether but have been ported by developers to suit various devices.
How to Flash Custom ROMs in your Android (Smartphone or Tablet)
Flashing such ROMs impart a new and refreshed look to the device you might be using and, in most cases, unlock more customization features along with better performance and battery life. Today, we will look at the basic steps you need to follow to flash a custom ROM and we would also help you look for more resources.
DISCLAIMER: Flashing Custom ROMs involves a lot of advanced level tinkering with your smartphone or tablet that might leave your device unstable, void your warranty, or even brick your device to the point of no return at any point during the process. Colourmytech assumes no responsibilities for such incidents and you should proceed at your own risk.
1. Back-Up Your Device
The first step to flash a custom ROM into any device is taking a full backup of your device’s data. You can do this using Android’s built-in backup and restore feature. Some manufacturers like Xiaomi and Samsung offer cloud services where you can back up the data. Even the apps on your device can be safely backed up using various backup apps available on Google Play Store. If you are a rooted user, Titanium Backup is an extremely potent tool. For those of you who don’t know what’s a root, it’s gaining superuser or administrator-level access to your device that allows you to make changes right down to the deepest level of an OS. Here is an extended piece from XDA on how to backup your data on android.
2. Download the Correct ROM
The best place to study and look for ROMs for your device is the XDA website which lists custom development for almost all popular devices. Once in the website, you need to narrow down and find your device’s development page from the Forums. Try the search bar to look your device up. Every device has a codename which is the more popular name in the world of custom development. Here is a link to the forums of one of the popular Android handsets from almost 4 years ago Xiaomi Mi A1. This device has the codename Tissot, Motorola Moto G is called Falcon and Moto G3 is called Osprey. It is essential to know the codename of your device.
Once in the forum, you should look for subforums that list your device’s Developments. The Development channel should have a list of third-party or ported ROMs from other devices that would work with your device. This step needs extra caution as a single device can have multiple variants in different parts of the world and only the ROMs customized for your variant would work with your device.
The ROM you want to install must also have adequate stability. ROMs from LineageOS (formerly CyanogenMod), PixelExperience are known to offer a lot of stability at the cost of extensive customization features. ROMs from EvolutionX and PixelPlusUI offer a wide range of cosmetic upgrades with moderate stability.
Once you single out the ROM based on user feedback, download the ROM on your PC. It should be a zip file. Never extract a ROM zip file.
3. Google Apps or GApps Package
If you have been using your android you must have noticed there are a host of applications from Google installed like Google Play Games, Google Mail, Google Photos, or Google Drive. These are services without which you can still operate a device but that would hardly be a smart device. Many custom ROMs do not come with these Google Apps included in the zipped package and hence you need to download a suitable package of Google Apps from the Open GApps website.
Downloading a suitable GApps package requires you to know the platform of your device’s processor, the android version of your downloaded ROM and the GApps variant you want. Nowadays most processors are ARM64 based and the higher you go on the GApps variant list, the bigger will be the GApps size with more Google services included in the zip file. Choose the GApps variant based on the services you need. Again, don’t extract the zip file you download.
4. Unlocking the Bootloader
A bootloader is a small program that handles the booting of a smartphone or tablet. For you to install and run a custom ROM, you need to unlock your bootloader first which releases it from being tied to your current ROM. Many consider this to be Step Zero of flashing custom ROMs. I think since the first three steps do not involve messing with the internals of the device this step can come fourth too. An unlocked bootloader allows you to make changes to the ROM inside the device.
Research is extremely important with any modification attempts to an android OS. Many manufacturers allow the bootloader to be unlocked for customization. You can find out if your device supports bootloader unlocking in the XDA forums. If your phone does not support it, you simply cannot install custom ROMs. There are uncountable devices in the world and hence there is no single method to unlock the bootloader as different manufacturers have different methods through which they allow bootloader unlocking. XDA or device manufacturer’s forums is the right place to know if and how you can unlock your device’s bootloader.
5. Setting Up Your Device
Now is the time to install android adb fastboot drivers on your PC and turning on USB Debug from Developer Options in your device’s settings. These drivers let you make advanced changes to your device. Tap the build number a few times to enable Developer Options. You can get minimum adb fastboot drivers from here. Extract the zip file and install the drivers your device will need next.
6. Installing Custom Recovery
This is an optional but highly recommended step. Every android has a recovery mode that can be used to perform advanced functions like flashing a zip or clearing caches and factory resetting devices. However, if you can install a custom recovery such as TWRP, there is nothing like it. If you want to stay with your device’s stock recovery, here is a device-specific guide on button combinations you need to press to enter recovery mode.
In case you want more functionality, you can always install a custom recovery which again is device-specific. TWRP is the most popular custom recovery right now due to its host of options that give more control to the user. Here is TeamWin’s page and the devices page from where you need to look up your device and download the correct TWRP image package. Extract the zip and place the image file in the abd folder. Once done you need to open up your device’s bootloader mode by pressing the ‘Power’ button and ‘Volume Down or Up’ button (device-specific) for about 10 seconds. Google up your device’s bootloader screen image to recognize if you are into the bootloader or not.
Once in bootloader mode connect your phone to your PC via the USB cable. Navigate to the adb folder that is now housing the custom recovery image and Shift + Right Click on a blank space. Click on the Open Command Prompt option from the context menu. Start typing.
This would bring up the serial number of your device. It indicates that adb recognizes your device. If there is no serial number you need to make sure steps 4 and 5 have been correctly followed. Without the device getting detected you can’t proceed with the operation. Next type
fastboot flash recovery twrp (where twrp is the name of the custom recovery image file).img
Your command prompt window should now look like this.
Your device should restart now and boot straight into your home screen. Your device might get a factory reset too. Thank God you took a backup in step 1. Turn off your device and use the proper button combination to enter into recovery mode. This time it should look like this.
Congratulations, installing custom ROMs should be a cakewalk now as custom recoveries like TWRP are much more user-friendly with a proper UI and more options than stock recovery. Tap the Wipe option to clean your device of any residual files.
7. Transfer ROM and GApps Zip
Now would be a good time to transfer all the files you have downloaded to the device’s internal memory. Better not create any folders for this. Place the files in the base directory. If your device’s storage is not detected in your PC, tap Mount in the TWRP menu and select Enable MTP option. Disconnect and reconnect your smartphone or tablet. Storage should be detected now.
8. Flashing the ROM and GApps
With all the files in, tap on Instal in the TWRP menu, navigate to the location of your ROM file and swipe to flash. Based on the size and features of the ROM it might take more than a couple of minutes. Wait patiently as the process ends with a success message at the end.
Tap back to file manager in TWRP and flash the GApps the same way as you did with the ROM. Watch out for any error messages. Sometimes incompatible GApps packages can break the installation. In that case, download the correct GApps package, transfer it to the device and start with GApps installation again.
Reboot to System using the options in TWRP Reboot Menu upon successful installation of GApps package. The first boot could take a bit of time as the device sets up the first time with the new ROM. If there is a boot loop, enter TWRP recovery again and flash the ROM first. Reboot to Recovery using TWRP Reboot Menu options and then flash GApps package then Reboot to System.
9. Rooting the Device
Rooting gives you the freedom to make system-level changes to your ROM. There are few optimization applications like AIO Tool Box or Greenify that work well in rooted devices. Rooting is not essential to enjoy custom ROM and it is possible to gain root access in your stock ROM too. Rooting methods are device-specific and you should go through plenty of guides and read through tons of forum posts before attempting.
Flashing custom ROMs is a fairly straightforward process unless you start encountering breaks in installation with red error codes in TWRP. Search for those error codes to understand what they mean and where is the fault. The most common issue people face while installing custom ROMs is a mismatch of custom recovery, GApps package, or the ROM itself. Post installation there might be bugs as custom ROMS are prepared by third-party independent developers who do not possess extensive RnD labs like popular manufacturers. These developers might not provide timely security updates for your devices too.
XDA Forums is the best place to find all the information you need about the ROMs and recoveries for your device. Detailed research is advised before you attempt to make changes to your android device. There are extensive guides on the internet particularly on XDA Forums on android development of your device. You should go through forum posts and understand the risks involved before you start tinkering with your Android device. A final piece of advice would be not to use a device with a third-party ROM as your daily driver until you are absolutely sure about the stability and security of the ROM.
If you find the resource above useful, feel free to share it on.