The ability use custom ROMs is one of the great joys of Android.
A custom ROM contains a whole new build of the Android operating system. To be able to install — or flash, as it’s known — a ROM offers huge benefits.
- If your phone no longer gets updates from the manufacturer, you can use a ROM to get the latest version of Android
- For phones with heavily customized software, you can install a ROM that gives you something closer to the “stock” Android experience
- If you like features on the devices from other manufacturers you can often find ROMs that port them over to yours
- If your phone is slow or has poor battery life, you can find ROMs that are optimized for speed or power consumption
In this guide, we’ll take a look at two ways to flash a custom ROM. One takes the manual approach, the other uses an Android app.
Before You Begin
You need to do a little bit of prep work before you can get started. For the purposes of this guide, we’re going to assume you’ve got all these things in place already.
You need a custom recovery. This is a small piece of software that is used to create a backup and to flash a ROM. In this guide we’re going to use TWRP. A custom recovery is normally installed when you root.
You need an unlocked bootloader. Most phones ship with a locked bootloader, and you need to unlock it before you’re able to overwrite the system files. The process can differ depending on what device and what version of Android you’re using, so check online for your specific device if you still need to do this.
Turn on USB Debugging. In Android go to Settings > Developer options and turn on USB Debugging.
Disable security. It’s a good idea to disable your security settings before you flash a ROM, especially if you use a fingerprint scanner.
Backup your data. We’ll create a full backup during the flashing process, but it’s also convenient to backup just your data using the app Titanium Backup. This requires root.
Charge your phone, or plug it in. You really don’t want your phone to run out of power halfway through flashing a ROM.
Download a Custom ROM
You also need a custom ROM. Here, it’s important that you make sure you get one that’s compatible with your phone’s exact model.
Obviously you aren’t going to do anything as silly as attempting to flash an HTC ROM on a Samsung phone, but if you’ve got the US version of a Samsung phone, it could be quite easy to download a ROM designed for the international version of the same phone by mistake. These might actually be classified as different phones. Make sure you get the right one!
The ROM will download as a .zip file. Save it somewhere on your phone’s internal storage. With most ROMs, you may also need to download the Google apps (GApps) in a separate zip.
Flash a Custom ROM Through Recovery
The preferred way to flash a ROM is to do it manually through your custom recovery. It’s a little more involved than using an app, but you get full control over the process and there’s less chance for something to go wrong.
Turn off the phone and boot it into recovery. The way you do this differs on each handset, but normally involves holding down a combination of the power button, the home button, and/or the volume buttons, then following any onscreen instructions.
Flash the ROM
Once TWRP has launched, you’re ready to start flashing the ROM. Here are the steps:
- Create a Nandroid backup. This is what you’ll use to restore your phone to its previous state, or to recover from any problems. Go to Backup and select which partitions you want to save. You can include them all, as it’s possible to select which parts to restore when the time comes.
- Swipe the bar to get started, then wait several minutes for the backup process to complete.
- Go back to the home screen and select Wipe. Swipe the bar to reset your phone (it won’t wipe your internal storage). Alternatively, select Advanced Wipe and choose Dalvik/ART Cache and Cache. This keeps your data and apps intact, but may cause errors with your ROM (this is called a dirty flash).
- Return to the TWRP home screen and select Install. Navigate your way to where you saved the ROM (the zip file).
- Tap the zip file to select it.
- Swipe the bar to begin installing.
- After it completes, repeat steps 5-6 with the GApps zip if you need to.
Don’t panic if it appears to get stuck on the boot screen because the first boot after flashing a ROM usually takes a bit longer than normal.
If it eventually becomes apparent that Android isn’t going to boot, take a look at our problem solving guide for possible solutions. Having taken a Nandroid backup, you should always be able to restore that to get your phone up and running quickly.
Once your phone has restarted, you’ll need to restore your data and apps (assuming you did wipe the data as outlined above). Most ROMs are pre-rooted, so if you used Titanium Backup, it will work without any extra steps.
Now you’re ready to enjoy your new software.
Flash a Custom ROM with an App
If all that sounds like a bit much, you can use an app within Android to flash the ROM instead.
The best one to use is FlashFire. It’s free and easy to use. It’ll handle the entire process for you — you don’t even need a custom recovery.
FlashFire only works on rooted phones. To set it up, you need to grant the request for root access when you run it for the first time. Then swipe open the sidebar from the left, choose Settings and select Freeload. This activates the app’s full features.
Flash a ROM With FlashFire
Every task in FlashFire can be completed with little more than a couple of clicks.
- Tap the + icon in the bottom right of the screen to see your options. Choose Backup > Normal to create a standard backup (or select Full to back up everything).
- Hit the check mark in the top right corner to get started, then wait a while for the backup to complete.
- Next, select Wipe and choose which parts of your phone to clear. System data, 3rd party apps, and Dalvik cache are selected by default, and this should be all you need.
- Finally, select Flash ZIP or OTA and locate the downloaded ROM you have stored on your phone.
- Tick the Mount /system read/write option, then hit the check icon to get started. For some ROMs or other flashable zips, you might need to select some of the other options too. See the FlashFire user guide for more.
And that’s just about it. You’ll probably need to repeat steps 4 and 5 for the GApps zip, if your ROM required you to download it separately. If you want to restore a backup, open the sidebar and select Backups.
FlashFire can also handle things like OTA updates from your phone’s manufacturer, or add-ons like the Xposed Framework. Plus, it doesn’t interfere with your root access, which makes it a very convenient tool.
The Best ROMs
Installing a custom ROM can seem daunting at first. Once you understand the steps involved, it becomes second nature — whichever method you choose.
All you need now is to find a decent ROM to test. CyanogenMod is the most popular, and has official and unofficial builds for most devices. PAC-ROM is another one with widespread support. It has a stock-like interface but is packed with geeky features that enable you to customize how the phone looks and works.
On top of these, we recommend browsing the XDA Developers forums for your specific device to find a good custom ROM. As long as you keep a recent Nandroid backup on hand, there’s no harm in testing multiple ROMs until you find the one that’s right for you.
Do you use custom ROMs? Which method do you prefer to flash them? What are your favorite ROMs? Let us know in the comments.