When on the subject of Android, one topic that often comes up is rooting. It's this simple (largely misunderstood and misused) term that stands between Android users and unleashing their device to its fullest potential. Every so often, I am asked several questions about how to root, why I root, what some of the pros and cons of rooting a device are and whether I think someone should root. Some of those questions are obviously a lot easier to answer than others.
So what is "rooting", exactly?
For starters, "rooting" or "rooting a device" is just slang. What you are really doing when you "root a device" is gaining read/write access to the root directory of your device.
In simple terms, it's like giving yourself administrative privileges to your device. Without root access, you (or any applications that you install) cannot alter any files in the root directory of your phone's internal memory. After you have gained root, though, you can launch an application like SetCPU (this app allows you to change your device's CPU clock speeds, profiles and governors), which will then ask the application Superuser (which manages all of your preferences for what applications can have root access) for permission to the root directory.
To date, I have rooted somewhere north of 60 Android devices – both for myself and for friends and family members – for various reasons. Sometimes, I root just because. Other times, I do it for one specific reason. But most of the time, I do it because I feel more comfortable with a rooted device. Here's why:
Being able to make a backup image of your home PC or laptop is a native function of the device. In fact, on many PCs, you are prompted to make a recovery image the first time you boot the computer. Recovery images are like a safeguard; if your PC gets a virus or something goes fatally wrong, simply boot to recovery, insert and load the recovery disk, and relax.
Your Android smartphone also has this functionality, but it's not a stock feature. In order to create backup images, you have to flash a custom recovery software (replacing the stock recovery software). It isn't hard to do and the benefits are nearly endless. For instance, if you lock yourself out of your phone and entering your Google account credentials fails to work (this happens more often than you might think), you can simply boot your phone into recovery and recover a backup.
This has saved me more than once, and I never like to go without a backup anymore.
This part can be quite broad. After gaining root access, you can alter almost any system file on your phone, which can enable you to do some pretty cool stuff. You can change the boot animation with minimal effort. You can change the build.prop file of your phone, which can be useful in many different situations.
However, I don't really like to do a lot of tinkering in this area. What I've mostly used it for is for remapping they keys for USB or Bluetooth peripherals. For example, when I was using my Galaxy Tab 10.1, I used a Microsoft Bluetooth keyboard with it all the time. It was great for typing, but none of the Windows-specific keys had any function on an Android device. So, I did some digging around, found where these files were stored and started altering them by trial and error. (Not without making a backup first!) After a few hours, I finally had the keyboard setup exactly how I wanted it – F1 would launch Settings, F2 was the Home button, etc.
I've also been meaning to do this to my Transformer Prime with its keyboard dock. ASUS did a good job of building a keyboard to fit Android well. But there are several keys I never use. I want to remap some of the keys I don't use for something I might use more often (i.e.: Alt has almost no function, so I might change it to a task switcher button).
If you've heard the term "root", chances are you've also heard of custom ROMs. By flashing custom recoveries, which I already mentioned above (you know, those things that allow you to create and restore backup images of your device?), you can flash custom ROMs to your device. Custom ROMs are altered versions of Android, made by third-party Android developers. CyanogenMod and MIUI are two of the most popular examples.
I used to flash ROMs compulsively – nearly every day. But the fun in that wore off with time. Now, if I have a problem with the stock software, I will only flash a couple different ROMs. I flash different ones every few weeks until I find the one that suits my needs and I stick with it for a while. Generally, I try to steer clear of Sense UI, TouchWiz, MAP, etc. The best (and about the only way without buying a Nexus) is by flashing ROMs.
Flashing ROMs can be tricky. And while I enjoy setting up my device, tweaking each individual setting and arranging the icons and widgets until my heart is content, doing it more than once a week is tiresome. Installing each application and logging in to all of your accounts every time you flash a new ROM is easily the most aggravating part. So I always try to backup any application data I may have prior to flashing a new ROM.
I will admit, I've been wary of applications like Titanium Backup for a while. I used Titanium to backup my applications and data once (a long time ago), and nearly every app I tried to open would crash and the phone would completely freeze and reboot. (I later tried the same ROM again without using Titanium and had no issues. Needless to say, I was skeptical and uninterested in Titanium after that. But I've heard nothing but good things and praises from Titanium users. On the suggestion of a couple readers, I decided to give it another shot. I've been using it for about two weeks now, and it has been a godsend on more than one occasion.
Of course, these are only a couple of many different reasons for gaining root on your Android device. These are the ones that I use root access for the most, though I have been known to use it for different things (like flashing a new modem to the AT&T Galaxy Note to get it to work on T-Mobile). Tell me, Android nuts, what do you use root for?