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.