We are still actively working on the spam issue.
Android ROMs
About Android
Android is a mobile operating system based on the open source Linux kernel. Android is Open Source (a fully FOSS fork called Replicant exists but is only on a small amount of devices), the majority of it is licensed under Apache or GPLv2. Android has components that can easily be swapped out that will change the user experience.
Rooting
Rooting is the process of gaining access to superuser privileges on your device. It will allow you to modify aspects of the Android system that wouldn't be possible with normal privileges. Rooting your device is a prerequisite of many customization options. Rooting your device may void its warranty. However, there are usually ways to unroot your device in the event you wish to do so, and remove all traces of it ever happening.
Bootloaders
Some OEMs lock the bootloaders of your device. You might have to unlock it, see your device's XDA Forum section for instructions. Some smartphone manufactures such as ASUS or HTC allow you to unlock it with a tool or registering your device with it's developer program. In some cases you can use a LB (locked bootloader) ROM, with limitations that come with it. There are also devices that have a custom dual or multi-bootloader written for them by the developers at XDA. Unlocking the bootloader will often void the warranty of your device, but some manufacturers such as ASUS allow you to keep so called "limited warranty", which means some things won't be fixed by the manufacturer (e.g you hard-brick your phone installing a custom-recovery or ROM).
Custom Recovery
Android devices ship with a "recovery mode" that allows you to flash vendor approved (signed) software and perform a factory reset. A custom recovery replaces that stock recovery mode with one that is much more powerful, allowing you to make backups of the device and flash unsigned custom ROMs. There are two main custom recovery software: TWRP and ClockWorkMod.
What is a ROM?
ROMs are different versions of Android firmware. Many companies make devices with their own ROMs (such as HTC Sense or Samsung TouchWiz) that control the user experience. Although not necessary, downloading and installing a different ROM to your phone may be able to give you more features and increased customization. To do this, you need to root your device to gain administrative access and install a custom recovery, which will install and manage ROMs.
Check the XDA forums, find your device, look at the ROMs section and find yourself a recent and stable system.
Popular Choices
Some popular ROMs and their respective benefits and features include:
CyanogenMod Lineage OS
- Relatively similar to stock or AOSP (Android Open Source Project) Android
- Very mature ROM, has a large community
- Clean and uncluttered (in comparison to TouchWiz, for example)
- Variety of features (ex. Pie Controls, Quick Settings, etc.)
- Easy installation process (simply follow the Installer App)
- If you're not going to install Google Play because of its proprietary nature, use freecygn to remove the rest of the proprietary userspace, which includes Google Analytics in the settings app.
Resurrection Remix
- Based on AOSP
- Very feature rich, containing most of the features from other ROMs.
Paranoid Android
- Again, lots of options for customization
- A large variety of features, many of which are not based off of stock Android (HALO, Pie Controls, Hybrid Properties, etc.)
- Very light
ASOP Extended
Dirty Unicorns
- Stopped development as of 2019 (last version supported was Pie)
OmniROM
- Developed by former CyanogenMod community members after it went corporate
- Multi-window support
Pixel Experience
- Basically converts your phone to a Google phone.
- Copies the entire Google Pixel Experience (hence the name).
Bootleggers ROM
MIUI
- Created by Chinese company Xiaomi intended to replicate the iOS experience.
- Contains lots of features such as a wide plethora of MIUI-exclusive themes and an easy-to-edit bootscreen.
- Forces all apps to front due to no app tray, which can be very problematic for some people.
- One of the fastest ROMs available.
Replicant
A project to replace all proprietary components of Android. Only works on a small number of devices.
Other ROMs
There are a plethora of custom ROMs available. For most devices, your best bet is to search the XDA-developers forum for your specific device's subforum, and see what is available and compatible with it.
Installing A ROM
Typically, there are a number of set steps to installing a ROM on your Android phone. Unfortunately, these steps are simply guidelines and can vary depending on what ROM you wish to install. You can typically find specific instructions by searching the for the ROM followed by your device name. Nevertheless, these steps include:
- Rooting your phone. Rooting is the easiest step in installing a ROM. There should be many guides describing the process for your exact phone model and Android version, which can be found be searching the web.
- Installing a ROM managing app. This is also quite easy; simply go to the Play Store and download a ROM managing app that appeals the most to you. For the purpose of these steps, I will assume you downloaded the "ROM Manager" App. You can also use an app like Flashify or FlashFire and download the custom recoveries and/or ROMS from XDA. You can also use the fastboot command, by installing the Android SDK Tools, although we won't get too into that right now.
- Open the app and back up. Perform a manual backup of your device by selecting that option on your ROM Manager App.
- Flash a Recovery Image to your phone. Within your ROM Manager App, select the Flash Recovery Image option (typically, you should be flashing ClockworkMod Recovery or TWRP).
- Download and copy your ROM. Find the ROM you want and then download it (if you would like any of the ROMs listed above, simply click on a title to be redirected to the ROM's website). Ensure that the ROM is in a .ZIP file (do not extract!) and copy it to your phone.
- Flash the ROM. Within your ROM Manager App, select an option that resembles "Install ROM from SD Card" and select the .ZIP file you downloaded earlier. Be sure to select options to wipe data and cache when prompted. Installation should take approximately 5-10 minutes, whereas the first boot should take 10 minutes or more.
- Optional: Restore from your backup. If you are unsatisfied with your ROM, that's OK. Re-install your ROM Manager App and select an option similar to "Manage and Restore Backups" and select your backup. This should restore your phone to its original state before flashing.