Android 101: Rooting, Jailbreaking, and Unlocking
On this site I get a ton of questions (most of which couldn’t be answered unless I was literally standing over you while you were doing a procedure, like, “What did I do wrong?”). But occasionally I get some questions that I can answer, like, “What is rooting?” and “What are the benefits of rooting?” So today, I decided to put together a sort of FAQ on just that subject.
If there is anything else you would like to add please feel free to send me an email.
I. What is the Difference Between Rooting and Jailbreaking?
First off, let’s explain that rooting and jailbreaking are essentially the same thing. The only difference is what device you are referring to and which term is generally associated with that device. Jailbreaking is generally used to describe Apple products like the iPhone, while rooting is used to describe most other Linux based devices like Android.
*My guess for the difference, besides just having those terms coined with their respective operating systems, is that rooting/jailbreaking an Apple product is a much harder process. Only reason really is that Apple is the only phone manufacturer so opposed to jailbreaking that they have devoted resources to resolve jailbreaking exploits whenever they arise. Because of this it might seem more “liberating” when rooting an iPhone and as such deserve a more suitable name perhaps.
II. What is Rooting/Jailbreaking?
Now that you know the difference between jailbreaking and rooting (or lack thereof), we’ll answer the next obvious question; what is rooting?
In a nutshell, when we root a phone we are actually trying to gain root access (you’ll sometimes here people say Superuser access, which is essentially the same thing). You can basically think of it in the same terms you think of a tree’s roots. The roots of a tree are the very bottom of the tree just as root access is giving us access to the very bottom or most basic files, systems, and commands on our phone. In Linux/Android, the root user is the user with all permissions to change and alter any files on the system/phone.
Why would we want access to these most basic folders and systems on our phone? Well, because these are where things like our phone’s operating systems files are contained and once we have access to them, we can change them to our liking (or we can have someone with some developing experience change them to our liking by flashing a ROM, but we’ll get to that in a sec).
Besides changing our phone’s operating system files, we can also load apps that need root access to run, by that I mean they need access to some of those most basic files and systems to do what they do. A popular example of this, would be the WiFi tethering app, which can turn the phone into a WiFi hotspot so that you can share your 3G/4G connection with other devices in the area. This app needs to access certain features in the phone that are normally not accessible unless we root the phone and then tell it that WiFi tethering has permission to use that root access (yes, even though we have root access, there are measures in place for us to determine what apps can use that privilege and what apps cannot).
III. Benefits of Rooting
An app asking for root permissions (often called superuser permissions)
So now that you know the basic gist of what rooting is, I’m sure you want to know; what are the benefits?
- Ability to use apps that require root access like:
Wifi Tethering – turns your phone into a WiFi hotspot without you having to pay extra to your carrier for that feature
Nandroid and other backup apps – allows you to make backups that can literally put your phone back to the exact state it was when you backed up
File Managers – some root required file managers allow you to access system files like icons etc and change them
Overclocking apps – these apps allow you to overclock your phone’s processor, taking a 600mhz processor to 1ghz for example.
- Ability to change your phone’s icons, status bar, and overall look through themes/ROMs
- Ability to increase performance through optimizations (usually through flashing ROMs)
- Ability to upgrade your operating system version without having to wait for an OTA (like going from Android 1.6 to Android 2.2)
- Ability to add Flash support and JIT compiler (which makes your phone faster) through going to Android 2.2
- Ability to flash ROMs (and easily get all of the benefits above in one shot)
IV. What is a Recovery Image?
What a custom recovery image may look like on your phone.
A recovery image is basically a part that is built in to Android that can be booted into without having to load the actual operating system (this allows you to get into it even if something has gone wrong with your phone, hence “recovery” image).
Now, normally, the recovery image on your phone has two main functions; factory reseting the phone if you can’t get into the operating system, and flashing an update to either fix any issues the phone is having or upgrade it to a new version of software. In addition to these functions there are locks and limitations set by the manufacturer in the recovery image like the fact that even though it can flash new versions of software, that software must be digitally signed by the manufacturer or the phone won’t flash the software (this is important later).
Now, since we have root access we can generally flash our own custom recovery image on to the phone. Why? Well, a custom recovery image has same added features including:
- Ability to use Nandroid backup (and save the entire memory of the phone to the sdcard so you can restore the phone with ease if anything goes wrong)
- Ability to use certain tools like partitioning the memory card (used for saving apps to the sdcard, adding more virtual swap memory to phones that are low on RAM, etc).
- Ability to flash updates that are not digitally signed by the manufacturer.
The last one is probably the most beneficial. Once we have a custom recovery image that allows us to flash updates that are not digitally signed that means we can load custom ROMs.
V. What are Custom ROMs?
Some custom ROM screenshots.
So if you are looking into rooting your phone, you have probably seen the term ROM somewhere and are curious as to what is all the fuss about ROMs.
ROM literally stands for Read Only Memory and in a nutshell it is the portion of the phone’s memory that contains the operating system, apps, and software that come preloaded on the phone. This memory can (normally) not be altered and is what the manufacturer or carrier wants you to have on your device when you first turn it on. If you factory reset your phone it would simply erase all of the changes you made and reload the ROM to get you back to how the phone was when you first opened it.
Now, when we talk about loading or flashing ROMs onto our phones, we are referring to custom ROMs that developers in the Android community have made either for themselves and decided to share, or made with the intention of sharing for others’ enjoyment.
Basically, these developers created their own ROM with their own operating system (say Android 2.2 vs Android 1.6), their own preloaded apps that they think should be included (including ones that replace the original apps on the phone, like the dialer, camera app, gallery, etc)., and their own performance or appearance tweaks.
For most people rooting their phone, flashing a custom ROM is the ultimate goal. It is the easiest way for them to get all the benefits of rooting mentioned above on to their phone without having to alter the code in their phone manually.
V. Cons of Rooting
Average person reaction when speaking about rooting/jailbreaking.
Now, with all those benefits, I’m sure you’re saying, “What’s the catch?”
1. Rooting and flashing ROMs technically voids your warranty – This is kind of the big issue with it all. Manufacturer’s have a pretty strict stance on rooting your phone (some more so than others) and they will generally not honor the warranty on any phones that come back to them with root access enabled. Now, this isn’t the manufacturers just being evil (in most cases) and there is some reasoning behind this concept. For example, let’s say that you flashed a ROM that didn’t have Bluetooth support working properly (the developer just hasn’t gotten it to work right yet) and then you try to send it in for warranty claiming that Bluetooth doesn’t work and you want a new phone. Well, that wouldn’t make much sense, right? Why should the manufacturer honor the warranty when the fact that you changing the software on the phone is what caused the issue?
Now, where manufacturers go wrong here is that they sometimes won’t honor the warranty when a rooted phone comes in for something that has nothing to do with the software. An example of this would be say the trackball fell out of your phone and you sent it in for warranty and the manufacturer said they won’t honor it because you rooted the phone. That’s not right because you changing the software of the device has nothing to do with the faulty trackball falling out.
Regardless though, since we are just altering software, it is relatively easy to “unroot” most phones and get them back to factory spec without it showing any trace of it ever being rooted in the first place and therefore “reinstate” our warranty (which makes sense because if we bring the software back to factory spec and the issue still persists, then it has nothing to do with the software changes we made and should be the manufacturer’s responsibility, right?)
2. You can harm your device – Now, while it is true that rooting your phone and changing things and potentially stop your phone from working (anyone that tried to flash the wrong ROM on their phone can tell you about getting stuck in a boot loop). But the truth of the matter is that Linux (what Android is running on top of) is pretty hard to mess up. This is because it has fail safes in place for just such an occasion. Two of these fail safes are the recovery image, and bootloader (aka Hboot mode). Even if you flash the wrong ROM on your phone, the recovery and hboot partitions of your device are untouched and so long as you can boot into one of those two modes, you can flash a different ROM and get the phone working again.
I would like to point out, that in all my time doing this, I have yet to see a completely unrecoverable phone.
VI. Difference between Unlocking, Rooting, and Jailbreaking
Another big question I get, is, “If I root my phone, can I use it on another carrier?” The short answer is no but I’ll explain.
Rooting and unlocking are two completely different procedures. Rooting your phone does NOT unlock it. In order to unlock your phone and use it on a different carrier, you must either purchase an unlock code (if you have GSM phone), flash a new carrier’s firmware manually through a cable (if you have a CDMA device), or you have to alter the phone’s baseband (as with the iPhone unlocking software).
Now, this seems to become a very confusing thing for people because of the iPhone I think. Sometimes people get confused with jailbreaking and unlocking by thinking they are one in the same (understandably with a name like jailbreaking you might think you are “setting it free”). But this is not the case. The iPhone has software to unlock it but that software is not automatically installed if you jailbreak your iPhone. The reason for the confusion, I think, is the fact that in order to use the unlocking software for the iPhone, you must have jailbroken it first (as the unlocking app needs root permissions to change the baseband, etc).
I hope that this helps some people who are new to rooting/jailbreaking their devices. For instructions on how to root and/or load a custom ROM on your phone, feel free to check out our How To section of our site and choose your device. Good luck and happy rooting!