Updated by Riley J. Dennis on November 18th, 2016.
Android is known for being the customizable operating system, and for good reason. Since Android comes in many different flavors from many different manufacturers, if you’re not a huge fan of the version of Android that shipped with your device, you can probably change it.
However, this is easier on some devices than others, because the manufacturers can still choose to be restrictive if they feel it’s necessary. This means that every device has a specific method for getting root access and then installing a custom ROM, and it can be kind of confusing. Let’s step you through it.
What’s a Custom ROM and Why Use One?
A custom ROM is simply a version of Android that third-party developers create for your device. They are meant to replace what is known as the stock ROM, or the version of Android that the manufacturer provided on your device. There are many reasons why you may want to try a custom ROM on your device. In most cases, they take away all the bloatware that is usually impossible to remove, they can potentially increase performance and/or improve battery life, and they may bump you up to a newer version of Android.
There are potential downsides to running custom ROMs, however, which include invalidated warranties, lack of hardware support for things such as your camera, and potential battery drain. However, if you stick to a custom ROM that comes from a more reputable source and you know what you’re doing, then these downsides should be minimized at least.
Where to Find One for Your Device
The best place to find any custom ROMs is the XDA Developers forums. Spend some time looking around here under the specific section for your device, and you’ll mostly likely stumble across dozens of unique custom ROMs. Some devices, like the Nexus and Galaxy phones, are highly supported thanks to a lot of popularity and developer interest, but more obscure phones might be more difficult to find ROMs for.
While this may seem overwhelming at first, you’ll quickly find that it’s a vibrant community built around tweaking Android phones. Remember, though, that anyone can post ROMs here, so it’s important to make sure you trust the developer before installing anything.
This usually isn’t difficult to do. For some general guidelines, make sure that:
- The developer has claimed it to be stable and not beta, alpha, etc.
- That any “known bugs” aren’t too severe
- Multiple people have posted in the thread claiming success with the custom ROM
- The amount of concerns that arise in the thread are small (Bluetooth sometimes disconnects, etc.)
Of course, try to use common sense while determining whether you should try a custom ROM that you find. This is important because any major hiccups in the flashing process (everything explained below) can cause your device to become bricked, leaving it as functional as a paperweight.
To be sure you’re getting a good experience, though, you can just stick to big-name ROM developers like CyanogenMod, Paranoid Android, SlimROMs, crDroid, or Resurrection Remix (as just a few examples).
Installing Your Custom ROM
Once you’ve found a custom ROM that’s right for you, you’ll need to go through the process of installing it correctly. It’s important to research the instructions for your device as they can vary from device to device and from ROM to ROM. The general process is the same across devices, so this should give you a good idea of what you’ll need to do.
Replacing The Recovery
The first step is to flash a different recovery called ClockworkMod (CWM) or TeamWin Recovery Project (TWRP) onto your device. Under the XDA forum for most devices you’ll find a thread about installing a custom recovery for that device — and some ROMs will recommend TWRP over CWM and vice versa. The recovery is somewhat like a BIOS found on a computer — it lets you perform administrative tasks on the device without having Android loaded in memory. You’ll need to change the recovery so that you can flash a different ROM because the stock recovery doesn’t allow for that.
The methods of doing so vary — and will often require you to root your device — so it’s important to read the provided instructions. Sometimes you’ll use something called fastboot to load the recovery onto your phone, though other times you can use an app like Flashify or TWRP Manager. In my opinion, installing the new recovery is the hardest part. Once you’re past this step you’ll have an easier time.
Flashing The ROM
The next step is to actually flash the custom ROM onto your device. Once the .zip file for the ROM is downloaded from the Internet and uploaded onto your phone’s storage via USB cable, you’ll need to turn off your phone and then turn it on to boot into the recovery. For most devices, this means holding Power + Volume Down at the same time, but a quick Google search for your device should let you know what your button combination is.
Once the recovery has loaded, you’ll need to navigate its menus to wipe the phone and then flash the .zip file onto the device. Most Recoveries nowadays are touch-based, but some might use the volume keys to navigate and the power button to select. For ClockworkMod Recovery, the correct options are wipe data/factory reset and install zip from sdcard.
You’ll then need to flash a GApps package, short for Google Apps. This is because ROMs don’t have Google apps like the Play Store or Gmail built in, and to get them, you have to flash a separate package. Most ROM threads will link to a prefered GApps package, but Open GApps is generally a safe choice — just ensure you download the correct version.
Once the ROM and GApps have both been glashed, reboot the device normally and it should load your custom ROM.
Congratulations! If you did everything according to the provided instructions, you should be running your custom ROM without any problems. Of course, be sure to thoroughly read any instructions available in the XDA thread, and only use this article as a general guideline for what you can expect during the process. However, you should be fine as long as you’re cautious and you’re confident in what you’re doing.
Have you installed a custom ROM on an Android device? What is something people new to ROM flashing should be aware of? Let us know in the comments!