Android and iOS are the most popular mobile operating systems on the market. Both offer a variety of apps and settings, but eventually reach their limits at a certain point. Rooting or Jailbreaking your phone (or tablet) will offer you thousands of tweaks, skins, custom ROMs, and new apps that you should not miss out on. It will also help you to remove bloatware.
Android Launchers and lock screen widgets are great tools to customize your Android experience without rooting your device. You are also able to root your device and customize it with a launcher and widgets afterwards. If your Android device is rooted but you don’t want flash a custom ROM, Xposed Framework might be the perfect solution for you. You are, however, also able to add new features to your custom ROM with Xposed. With the release of Android 5.0 Lollipop Google replaced the former Dalvik cache with ART. Luckily, Xposed was adapted to Android 6.0 Marshmallow and now works with both Android 5.0, 6.0 and 7.0
This guide is based on Google Nexus devices, but most of the things also apply to other Android devices. Some might require more work while others can be rooted quite easily, but in the end it’s no rocket science. Rooting and customisation is especially easy on Nexus devices as factory images are freely available on the Google website. However, many other popular devices like the can easily be restored using different tools available on XDA developers. I would suggest to have a quick look at the forums and I’m pretty sure that you’ll find help for your device.
Android Rooting Terms You Should Know
Before we get started, I would like to explain a few terms because the terminology can get complicated and confusing. This will help you to understand other device specific guides. I’ll try to keep it short and not go into (technical) details. Please share any questions regarding this in the comments below – I’ll do my best to answer them.
ART stands for Android Runtime and replaces the formerly used Dalvik cache. It was introduced in Android 4.4 and has completely taken over in Android 5.0. I don’t want to go too deep into technical differences, but ART is said to improve battery life and app performance, amongst others.
The Bootloader is your phone’s software foundation. It’s basically what runs before your operating system starts (like a PC’s BIOS). As many manufactures don’t want you to modify your phone’s OS, it needs to be unlocked before you are able to root your phone or install custom ROMs (explained later).
This is something you don’t want to happen to your Android device. Like the name already implies, a bricked phone (or tablet) can only be used as a paperweight or nice decoration for your apartment. Bricked devices are irreversibly damaged and won’t work anymore. This can, for instance, happen if damaged ROMs are installed or wrong firmwares are flashed. Always make sure to read instructions and verify checksums (a set of numbers that identify the file) to make sure nothing goes wrong. If you’re lucky and your device is only soft-bricked, meaning that it does not boot but still turns on, you might be able to get it back to life.
Android, being based on Linux/Unix, offers a limited amount of UNIX commands (which most users won’t need anyways). BusyBox will implement more commands that are necessary for some root apps to work properly.
A custom ROM is a modified version of the Android operating system. Tweaks, additional features, different themes or an enhanced performance are usually included. Custom ROMs also offer the possibility to use a newer, unreleased, version of Android on your phone that might usually not be available for your device because of restrictions from manufacturer or providers.
Dalvik is a virtual machine that processes Android app code. Consequently, it is responsible for translating app code into actions on your Android device.
Fastboot is a diagnostic- and engineering tool which offers you several features such as launching in recovery mode or flashing image files.
The kernel is the brain of your phone that controls how the system and hardware interact. It’s basically the lowest level of your operating system that manages memory and hardware.
NAND stands for “Negated AND” or “NOT AND” and describes the hard drive partition that stores all system relevant information like the bootloader, recovery mode or the kernel.
A NANDroid backup is a complete system backup of your Android device. This backup can be restored later and might save your phone after flashing a faulty ROM or theme.
The radio is responsible for sending and receiving voice and data. Using an optimized radio can improve your phone’s reception or increase battery life.
Recovery mode offers you the possibility to perform system-level tasks (like formatting, defragmenting, etc.), backing-up your devices or install custom ROMs. Android offers a limited stock recovery function. More sophisticated recoveries like ClockworkMod Recovery and TWRP Recovery offer additional features and are easier to use.
Rooting will give you full administrator access of your device. It might also void your warranty (depending on the device and your place of residence), so make sure to handle your device with care after rooting it. You are always able to revert this process by simply flashing a stock-ROM (the original ROM installed by your phone’s manufacturer). Doing this will also “restore” your warranty.
S-OFF means that the NAND partition of your Android device is unlocked. This mostly applies to HTC phones.
Rooting your phone will create a new “account” with complete administrative permissions. This superuser account is used by some apps and functions.
Xposed Framework is an app that can be installed on a rooted Android device which offers custom ROM like features on stock Android. It has been updated and is now fully compatible to Android 5.0, Android 6.0 and Android 7.0.
Most Important Fastboot Commands
When confronted with Android rooting, you often have to work with fastboot. Fastboot is part of Google’s Android SDK and is mostly used to re-flash partitions on your Android device, similar to (custom) recovery mode. You usually use fastboot in the following manner:
fastboot [ <option> ] <command>
Here’s a list of all options and commands:
-w erase userdata and cache
-s <serial number> specify device serial number
-p <product> specify product name
-c <cmdline> override kernel commandline
-i <vendor id> specify a custom USB vendor id
-b <base_addr> specify a custom kernel base address
-n <page size> specify the nand page size. default: 2048
update <filename> reflash device from update.zip
flashall flash boot + recovery + system
flash <partition> [ <filename> ] write a file to a flash partition
erase <partition> erase a flash partition
getvar <variable> display a bootloader variable
boot <kernel> [ <ramdisk> ] download and boot kernel
flash:raw boot <kernel> [ <ramdisk> ] create bootimage and flash it
devices list all connected devices
reboot reboot device normally
reboot-bootloader reboot device into bootloader
Now that we’ve covered all existing fastboot commands and options, let’s have a closer look at the most important ones and what they do / mean:
fastboot oem unlock
This is a special command and not part of the initial list. Using this command, you can unlock the bootloader for Google Nexus devices.
fastboot flash recovery recovery.img
This command will flash a custom recovery to your Android device. Depending on the file name, you need to change the bold part of the command. Please not that this only works with *.img files
fastboot -w
Caution: This command will completely wipe your device
fastboot update filename.zip
This command will update your ROM based on the provided *.zip file
Custom Recovery Mode
The standard Android recovery mode is very limited and does not offer many features. That’s where replacement recoveries like Team Win Recovery Project (TWRP) and ClockworkMod Recovery (CWRM) come in place. They offer the possibility to flash custom ROMs which is not possible with the stock recovery mode. Other features include a file browser for update.zips, adb shell and NANDroid backups. Without a custom recovery you won’t be able to flash a custom ROM.
It does not really matter which replacement recovery you install, just go with the one that suits you most. In some rare cases the root script or custom ROM installation only works with either TWRP or CWM. Nowadays, TWRP is the king of custom recoveries and would be my suggestion for you to use.
Understanding Custom ROM Versions
As Custom ROMs are constantly improved, they usually come in four different categories: Nightly, Milestone, Release Candidate and Stable. This is what you can expect in every stage:
Nightly versions are usually generated every 24 hours and can be highly experimental and unstable. Especially early versions of a new custom ROM can have many bugs and missing features. If you want to have the latest features while risking instability – go for nightlies!
Milestone Snapshots are basically nightly versions that have reached a certain milestone. They can be regarded as being quite stable, but may include certain bugs and issues. Since they are only created every few weeks (or months), they won’t have the latest features that might be included in the nightly versions. If you are looking for the latest features while having a rather stable system, check out milestone snapshots.
Release candidates, as the name already implies, are one of the last builds before the stable version of a custom ROM is released. RCs are mostly stable but might have a few minor issues. If you’re looking for something stable and ready for daily use, I would recommend to go with release candidates!
Stable versions are (obviously) the most stable versions around, with all or nearly all problems fixed. Some stable ROMs may still include some smaller issues or certain things not working. Stable versions are definitely the safest way to go, but it might take months before a new stable with new features or fixes is released.
Official, Unofficial & Combined Releases
It is also important to say that custom ROMs are often available as official and unofficial releases. Later use the source code of the official release (if publicly available) and adapt it to devices not supported by the main developers. Unfortunately, this often leads to a delay. In addition to that, many developers combine features of different custom ROMs.
Custom ROMs
Custom Roms offer you a variety of new features, tweaks and visual enhancements. The best source to find a working one for your device is the XDA-Developers forum. Many custom ROMs are based on either Stock Android or LineageOS, formerly called CyanogenMod. The easiest way to find the best custom ROM for you is to compare their features or simply test them for a few days.
In the last few years the custom ROM scene changed dramatically, and almost all “one-ROM-fits-all” custom ROMS like ParanoidAndroid disappeared. Today, there are custom builds for the most popular devices based on LineageOS (CyanogenMod).
Apps
Rooting your Android device will offer you many benefits. Besides the features mentioned above, you can also install great apps that require to go deep into the system. Using them with an un-rooted device is not possible. Below I’ve listed a few apps that I like and use on an everyday basis. Feel free to share other apps in the comments section below!
Titanium Backup is a great backup tool for Android devices that offers tons of features. It provides the possibility to backup your data, settings and apps. Scheduled backups are also available. The paid pro version offers lots of great features like syncing backups with cloud-based storage providers such as Dropbox, Google Drive or Box. In my opinion this is one of the best root apps and a must-get. Especially if you’re a flash-a-holic, performing and restoring quick backups of all your apps (incl. settings and save games) is really easy and convenient with Titanium Backup.
When you constantly switch between custom ROMs, ClockworkMod’s ROM Manager is one of the essential apps to get. Besides flashing ClockworkMod recovery, it will help you to organise and install your custom ROMs and backing-up your Android device. The paid premium version includes additional features like automatic backups, web connect and incremental ROM downloads.
Xposed Framework is a great app that offers the possibility to add features to your Android devices without flashing a custom ROM (or in addition to it). You’re able to install modules which offer visual customisation or battery improvements, amongst others.
Greenify is a great app to improve battery life and system performance because it puts selected apps in hibernation mode. Not having tons of apps stored in RAM or running as system processes will make your Android device faster and increase your user experience.