Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

Rooting Android devices: Should you or shouldn't you?

Rooting Android devices creates an environment where you can see how apps behave, but it can brick devices and void their warranties.

Users root their Android devices because it gives them unlimited access, but system administrators can root devices, too, then analyze everything that's happening on the phone. Rooting Android devices isn't for everyone, however.

Before you even start thinking about rooting Android devices, you should know that no vendor builds devices that are easy to root -- and for good reason. If users have complete access, they may change settings or permissions that cause their devices to stop working. And whether you or your users hack into devices, it will void the warranty on the device, the owner will lose support from the manufacturer, and in the worst case, it could cause the device to lose functionality completely. Some devices are even programmed to reset themselves to the original operating system upon rebooting, which means that you'll need to root the device over and over again.

To root or not to root?

So should you root Android devices? It depends.

If you need to thoroughly analyze app behavior on devices or build Android apps, it might make sense for you to root one device to test or build the apps before deploying them to all users. In this case, you could root an Android smartphone that you use only for development and testing. If neither of these situations apply to you, however, you're better of letting users' Android devices run their original operating systems

Rooting requirements

If you do decide to go for it, just know that rooting Android devices requires a ROM that is specifically made for the device you're trying to root. You upload that ROM to the device to replace the default operating system, but there are many different Android devices and OS versions, and even small hardware changes make it so a ROM for a similar device won't work on the exact device you're rooting. If you're planning to root a device so you can build and test applications, make sure to choose a device that has a ROM available.

You should also use a ROM that is from a trusted origin. It's not a good idea to just download any ROM from the Internet, because the ROM maker could have put anything in it, such as backdoors or other security holes. To avoid this problem, use a ROM from a source that is open enough to be verified, such as CyanogenMod.

In addition to getting the right ROM, you'll also need to prepare the device itself. Typically, that involves accessing the Settings menu on the device and selecting the USB debugging option from the Developer options. This allows you to work on the device when it is connected to the computer.

You also need to prepare a computer so that it can see the device. For a Windows computer, that means installing USB drivers for the specific Android device you're trying to root. If you're using a Linux computer, you'll have to create udev rules, but that is a fairly complicated task.

Once the computer is ready, you need to connect the device to the computer via USB, then load the ROM image onto the device. This is the all-or-nothing moment: If the root attempt fails, the phone will be "bricked" and you won't be able to do anything with it anymore. From a corporate perspective, the main problem with this procedure is not the risk of bricking a phone, but the absence of a good source for the ROMs that can be used for rooting.

If the process works, the phone will be rooted and you'll get complete access to it. To work in the root environment, you'll need a remote control tool such as the Android Debug Bridge developer tools. Alternatively, you could install an app on the rooted phone -- a shell environment or a full-featured app such as TWRP Manager -- that allows you to work on the device with root access.

This was last published in March 2014

Dig Deeper on Google Android operating system and devices

Join the conversation

1 comment

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

I’m not against rooting but… the need to thoroughly analyze app behavior on devices or building apps for Android aren't really valid reasons to root a device. That may have been the case in the past, but now it’s easy enough to enable developer options, side-load apps, and get the information you need using Android Studio without rooting. If you still need more information, you can use tools like SOASTA’s TouchTest, that allows you to embedded testing tools into the code for your mobile app to gather that information. You also need to realize that anything you do to your device that alters it from it’s stock state, such as rooting, will have some effect on the information you gather, so use caution decide to root and tinker - the information you gather may not be valid.