This page covers alternative operating systems for Android phones and tablets.
Many Android phones and tablets are shipped with an already superseded version of Android, and critical updates are notoriously slow in being delivered, if they are delivered at all. And if you do get them they may cease while your phone is otherwise perfectly usable, leaving you at the mercy of dangerous security vulnerabilities. One solution is to install a "custom ROM", which is version of Android supported by a volunteer community, so breaking your dependence on the handset supplier and network provider.
Thanks to Android's (partially) open-source credentials, there is a large (and often confusing) ecosystem of alternatives to the stock version of the Android operating system that can be installed on a device.
You may have heard of 'flashing your ROM' - while this sounds strange, it essentially means installing a different operating system (OS) on to your phone. This is the same idea, in principle, to installing a different OS on your computer. In the Android world, though, for various reasons, it's a more difficult process.
Flashing your ROM usually involves: finding a working ROM for your device; rooting your device; and installing the ROM. None of these is particularly simple. As such, it is worth considering the other options of administering first-aid to your device before trying to flash the ROM. That said, there are many other valid advantages of flashing your ROM that you might consider -- such as needing to move away from an out-of-date version of Android; to privacy concerns; to greater independence and control over your own possessions; and perhaps a preference for open-source over proprietary software. See 6 Reasons You Need to Be Using a Custom ROM for more information.
Finding a working ROM
Finding a working ROM is arguably the hardest part of the whole process. Whether or not your phone has a decent, recent ROM is entirely down to whether the community has taken on the task of supporting your device. It can be a bit of a minefield. The best place to start your journey is at https://forums.xda-developers.com, and searching for your device name in the search bar. You should find a sub-forum dedicated to your device.
From here it is usually a case of searching through threads for the latest information on which ROM is the best one to use.
You may have heard of CyanogenMod -- this was the original mainstream and most widely used custom ROM. Due to various shenanigans, CyanogenMod (CM) has recently been renamed to LineageOS. Other ROMs also exist - such as Android Open Kang Project (AOKP), or Android Ice Cold Project (AICP). Often these are usually forks of CM, or forks of the official Android (e.g. Copperhead OS). CyanogenMod itself is based on the open-source elements of the Android firmware. As such, different versions of CyanogenMod and other derivatives are based on a particular base version of the official Android. (For example, LineageOS 14.1 is based on Android 7.1 "Nougat".)
When looking for a custom ROM for your phone, it makes sense to look for one that is based on the most recent version of Android, but bearing in mind the newer versions are not always as stable. For security reasons, you should always try to install a ROM that is based on a version of Android that is still officially supported. If the Android version is still officially supported, then it still receives security updates - but do keep in mind that those security updates have to be incorporated into the custom ROM by the ROM maintainer - this is usually the case, but is always worth checking. A ROM-based on a supported Android isn't always available -- but you may find a ROM of an unsupported official version of Android where the maintainer tries to incorporate and backport security patches.
Usually the ROM maintainers will keep a list of what features of the phone work with the ROM. It's quite common to find that some features don't work, or only partially work, with a ROM, particularly those based on a version of Android that the phone manufacturer has not released for your device. Sometimes the issue might not bother you, depending on how you use your phone, and sometimes it might be a dealbreaker for you (e.g. the camera doesn't work.)
- Based on supported Android base version?
- Security updates incorporated into ROM?
- How much of your phone works with the ROM?
Rooting your device
In order to flash your ROM, you'll first need to root your device (or unlock your bootloader and install a custom recovery - we'll stick with rooting for now). In a nutshell, rooting means gaining administrator privileges to the device in order to allow you to do whatever you want to it.
AndroidCentral has a good article - Everything you need to know about rooting your Android - that covers what rooting means, and some points to consider before you do it.
Rooting can be very specific to each manufacturer and each individual device - so the best advice again is to do a search for your specific phone, e.g. 'rooting sony xperia z1 compact'.
Flashing the ROM
Once you have your ROM, and your device has been rooted, you can flash your ROM.
Having said all that, when it goes right, flashing can leave you with a device that is fresher, snappier, more up-to-date, less bloated, and generally nicer all-round.
Either way, always, ALWAYS, make a comprehensive backup of what is on your phone before you attempt to flash a new ROM. You should already be backing up any important files and documents that you keep on your phone (e.g. photos), but on top of that, before doing any flashing, you should take a NANDroid recovery backup. This is a full image of your phone that you can use to restore back to should anything go wrong. Find out more at What Is A Nandroid Backup and How Exactly Does It Work?
Again, the details of flashing the ROM can vary from device to device. A search is your friend here (e.g. flashing sony xperia z1 compact, or often you will find a step-by-step guide on the XDA forum thread where you found the ROM in the first place.