Sunday, 23 November 2014

Ultimate Guide to Android Rooting, Custom ROMs & Apps


Guide to Android Rooting, Custom ROMs and Apps

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 and new apps that you should not miss out on.
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.
This guide will use the Google Nexus 4 as an example 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.
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.

Bootloader

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).

Brick

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.

BusyBox

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.

Custom ROM

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.

Fastboot

Fastboot is a diagnostic- and engineering tool which offers you several features such as launching in recovery mode or flashing image files.

Kernel

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 partition

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.

NANDroid backup

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.

Radio

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

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, 4EXT Recovery and TWRP Recovery offer additional features and are easier to use.

Root

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

S-OFF means that the NAND partition of your Android device is unlocked. This mostly applies to HTC phones.

Superuser

Rooting your phone will create a new “account” with complete administrative permissions. This superuser account is used by some apps and functions.

Xposed Framework

Xposed Framework is an app that can be installed on a rooted Android device which offers custom ROM like features on stock Android.

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

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 Snapshot

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 Candidate

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

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.

How to Fully Backup Your Device Without Root

If your Android device is not rooted yet, you won’t be able to perform NANDroid backups. I wouldn’t suggest to root your tablet or phone without having a proper backup, because there is always a chance of error and you don’t want to brick your device.
Simple ADB Backup let’s you create a full backup of your device without root access and is the perfect solution for users without root access. The free program also offers a restore function and runs on Windows and Linux.
If you’re already rooted, make sure to check out our guide on performing a NANDROID backup.

How to Root Your Android Device

The rooting process differs from device to device which makes it impossible to give general instructions on rooting here. I’ve linked guides for some of the most popular devices below. Using the terms described earlier should make the rooting process easier for you. If your phone or tablet is not on the list, you most certainly can find a guide on the XDA-Developers forums.
Google Nexus 4, Nexus 5, Nexus 7 and Nexus 10
Samsung Galaxy S4
Samsung Galaxy S5
HTC One
LG G2
Samsung Galaxy Note 3
Always make sure to perform NANDroid backups of your devices to be able to restore your phone or tablet to a working state. I would also recommend to validate checksums and carefully read through the instructions to avoid bricking your device.

Custom Recovery Mode

The standard Android recovery mode is very limited and does not offer many features. That’s where replacement recovery modes like the 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 forupdate.zips, adb shell and Nandroid backups.
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.

TWRP – Team Win Recovery Project

Team Win Recovery Project‘s custom recovery offers an easy and touch driven user interface. It includes all typical recovery features needed to install custom ROMs, kernels, other tweaks and many more. You are also able to backup and restore your device using TWRP.
TWRP

CWM – Clockworkmod Recovery

ClockworkMod Recovery is one of the most popular custom recovery modes. It also includes all advanced recovery features like installing custom ROMs and other files, as well as a backup and restore function. You can control the CWM UI via touch or key-input.
CWM

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 the three big releases: CyanogenMod, AOKP and Paranoid Android. The easiest way to find the best custom ROM for you is to compare their features or simply test them for a few days. To make your start easier, I’ve written a few words about the major custom ROMs below.

CyanogenMod

CyanogenMod Logo
CyanogenMod looks very similar to stock Android, but offers several enhancements and tweaks. Besides increased system performance and reliability, it includes many interface enhancements and integrated features.

CyanogenMod Features

  • OpenVPN integration
  • Lockscreen gestures
  • Expanded quick settings
  • DSP equalizer
  • Theme support
  • Wi-Fi, bluetooth, and USB tethering
  • CPU over- & underclocking

Latest CyanogenMod Version

Currently there are five stable version and one version with snapshot status available:
  1. CyanogenMod 7 – based on Android 2.3 Gingerbread
  2. CyanogenMod 9 – based on Androif 4.0.4 Ice Cream Sandwhich
  3. CyanogenMod 10 – based on Android 4.1 Jelly Bean
  4. CyanogenMod 10.1 – based on Android 4.2.2 Jelly Bean
  5. CyanogenMod 10.2 – based on Android 4.3 Jelly Bean
  6. CyanogenMod 11 – based on Android 4.4.2 KitKat
At the moment, there is no stable 4.4.2 KitKat version of CyanogenMod. The snapshot releases are pretty close to being stable so I would advise you to check them out. A quite unique feature of CyanogenMod is it’s installer which makes installing the custom ROM quite easy. Besides flashing the ROM it will also root your Android device and will guide you through the whole process. Unfortunately, the installer is currently only available for Windows.
CyanogenMod is available for the majority of popular Android devices. You can find a list of supported devices on the CyanogenMod website.

AOKP

AOKP Logo
AOKP It describes itself as “Android infused with magical Unicorn bytes” – that should be awesome, right?

AOKP Features

  • Added UI features and settings
  • LED notification light options
  • Performance tweaks
  • Custom toggles
  • Vibration patterns
  • Flip phone to silence ringtone
  • AOKP Ribbons
  • Silent / Vibrate mode on face down
  • New lock screen features
If you’re into customization, AOKP offers tons of features. I especially like the custom vibration patterns: You can simply set a vibration pattern for, say, Emails, Hangouts and WhatsApp messages and can “feel” which type of message you just received (if you carry your phone in your pocket ;) ).

Latest AOKP Version

There is currently one Milestone release available for 44 devices:
AOKP MR1 Milestone 2 – based on Android 4.2.2 Jelly Bean
The AOKP team is still working on an Android 4.4.2 version. Nightlies are available on the AOKP website.

AOKP Availability

The AOKP custom ROM is currently available for 44 different devices. You can find a complete list on the AOKP website.

ParanoidAndroid


Paranoid Android Logo
ParanoidAndroid is completely different to AOKP and CyanogenMod and one of the “newer” custom ROMs out there. It’s currently my favorite custom ROM as it’s fairly close to stock Android while adding cool features like Peek and Hover.

ParanoidAndroid Features

  • Floating notifications & multitasking
  • Hidden Navigation PIE mode
  • UI customization
  • Gesture controls
  • CyanogenMod themes support
I’ve been running PA for the past for months and really love it. It’s stable, fast and battery life is great. I can highly recommend this ROM.

Latest ParanoidAndroid Version

There are no real stable ParanoidAndroid releases available. Beta versions are released on a weekly basis and are really stable.

ParanoidAndroid Availability

ParanoidAndroid is officially only available for Google Nexus and OPPO devices on the PA website. Luckily, other devices are unofficially supported and can be found here.

SlimRoms

slimroms


SlimRoms focus on offering a clean and slim Android experience. When I first installed it on my Nexus 4 I was surprised on how much screen space can be available on a 4″ display.

SlimRoms Features

  • Complete dark skin including black Google apps
  • Updated recent screen for improved multitasking
  • Access most important apps from everywhere with new notification drawer
  • Updated camera features

Latest SlimRoms Version

The latest version is based on Android 4.4.2 KitKat.

SlimRoms Availability

SlimRoms is available for a variety of devices, focusing on Nexus, the Galaxy range and LG phones. You can find an overview here.

Flashing Custom Kernels

Kernels are the brain of your Android device and communicate between software and hardware. Therefore, they are responsible for managing things like CPU / GPU clocking speed, screen sensitivity / colors or voltage. By using a custom kernel you can not only improve battery life, but also increase system performance.
Many custom ROMs already come with their own kernels. This is done to implement software communication of the custom ROM with the hardware of the device and also to ensure a better performance. Nevertheless, you are often also able to flash custom kernels to custom ROMs. If you decided to stick to a rooted version of stock Android, flashing a new kernel can offer you additional performance with the convenience of a stock OS.
Always make sure to check compatibility of the kernel with your ROM and device, because flashing a wrong kernel can brick your phone!
There are different ways to flash a custom kernel to your device like flashing in recovery mode or using an app. I personally use franco.Kernel in combination with CyanogenMod on my Nexus 4 and couldn’t be happier. I’m able to check for kernel updates using an app. The same app also offers downloading and auto-flashing the latest version to my phone.
My experience with franco.Kernel so far is great: Heat-issues are fixed, the display colors look more like the AMOLED display of the Samsung Galaxy S3 and I have roughly 50% more battery life.
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

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.
titanium backup

ROM Manager

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.
rom manager

AdAway

I struggled a little bit when deciding to either include AdAway or not, because it’s great for users but bad for app publishers and marketers. Google removed it from Google Play but you can still get it on the AdAway website. Like AdBlock Plus on your computer, the app modifies your Android devices hosts file to prevent apps and browsers to display advertisements. This will not only improve your app usage experience, but also increase battery life and decrease mobile traffic. Be fair and purchase paid versions of apps or donate a small amount to developers to make sure they will keep on programming great apps!
Google has recently begun to remove certain apps that violate their distribution agreements from Google Play. If you’re still interested in installing AdAway, please refer to the AdAway website.
AdAway

Cerberus anti theft

Cerberus anti theft is a great app that brings many security features to your phone. You can, for instance, control your phone remotely from the Cerberus website, locate and track it as well as display messages on the screen. Remote wiping and taking pictures of the thief are also on the huge list of features.
This app will work on non-rooted devices, although the root version implements and essential feature: Cerberus can be installed wipe-proof which means that a thief won’t be able to simply uninstall the app or notice that it’s running in the background.
cerberus anti-theft

Touch Control

I love my Nexus 4, but sometimes it’s really annoying that I have to hit the physical buttons to unlock the screen. Touch Control allows you to wake up and lock your device by using gestures: Simply double-tapping the display will wake up the display. A swipe from right to left will lock the screen when the device is running. A great app that increased my Nexus 4 user experience big time.
Touch Control

Greenify

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. Please refer to full review for more information.

Greenify App Overview


Frequently Asked Rooting Questions

1. How can I restore stock Android?

To get back stock Android, simply flash a stock ROM suitable for your device. This way you’ll get an unrooted, stock Android version with restored warranty.

2. What happens to my settings, contacts and apps when I install a custom ROM?

It’s always recommended to wipe your device before installing a custom ROM for the first time. If your Google account is linked to your phone, contacts, emails and apps will automatically be downloaded after launching the custom ROM and logging in to your Google account. You can backup your settings with apps like XYZ.

3. How can I upgrade a custom ROM?

Most custom ROMs offer a update function, some directly integrated to the OS, others using a specific app. You can also use ROM Manager to update certain custom ROMs.

4. Is it possible to just root a phone and not install a custom ROM?

Yes, simply use a stock ROM and root it. If you update it, your root-access will be gone, though.

5. Do I need to go step-by-step to upgrade my Android device or can I directly go to the latest version available?

You can usually simply flash the latest ROM and are good to go. Custom ROM updates usually come in a full package, meaning that you have to download the complete ROM to update it. The downloads are usually about 100-200 MB.
6. Is there a special order to flash a ROM or kernel?
I would suggest flashing the ROM first as they often include their own custom kernels. Afterwards, boot your phone with the custom ROM, go back to the recovery mode and flash the kernel. Also make sure to check whether your custom kernel is supported by the ROM.
7. Can I update or change certain parts of Android without flashing a ROM?
Not in terms of getting a newer Android version. However, you should have a look at Xposed Framework as it brings many custom ROM features to your Android installation.
8. Do I have to downgrade my phone to flash ROM XYZ?
No – as long as your bootloader is unlocked and you have a custom recovery installed. With some devices, you need to downgrade to be able to do that. Custom ROMs usually don’t require a certain Android version because everything OS-wise is overwritten anyways.
9. Is there a custom ROM for my phone / tablet?
I would recommend to head over to the XDA developers forums and perform a search query there. If you’re using one of the popular devices there are usually many custom ROMs available. You can always check out Xposed Framework to add some more features to your Android device if no custom ROM is available.

Final Words

Do you have any questions about the rooting process, custom ROMs, tweaks or apps? Do you maybe want to share other great apps that I might have forgotten? Feel free to do so in the comments below!
Are you interested in more Android related guides?
Have a look at our Android knowledge database.
Unknown Web Developer

No comments: