How to Root Your Android Phone with SuperSU and TWRP

androidroot

If you really want to dig into the Android system, you may find that some apps require root access. Rooting has become less necessary over the years, but it’s still useful if you want to run certain types of apps. Here’s the most widely supported method for rooting your device, and why you might want to.

This post was originally published in 2012. It has since been updated to focus on the most widely supported rooting method instead of a collection of one-click apps.

What Is Root, Anyway?

Android is based on Linux. On Linux and other UNIX-like operating systems, the root user is equivalent to the Administrator user on Windows. The root user has access to the entire operating system, and can do anything. By default, you don’t have root access to your own Android device, and certain apps won’t function without root access. Like other modern mobile operating systems, Android confines apps to restrictive security sandboxes for security purposes.

The root user account always exists in Android; there’s just no built-in way to access it. “Rooting” is the act of gaining access to this root user account. This is often compared to jailbreaking an iPhone or iPad, but rooting and jailbreaking are fairly different.

Technical aspects aside, root access allows you to do a lot of useful things. With root, you can remove bloatware that came on your phone, run a firewall, enable tethering even if your carrier is blocking it, manually back up your system, and use a variety of other tweaks that require low-level system access.

Apps that require root aren’t hard to find–they’re available in Google Play, but they won’t work until you gain root access. Some apps have features that only work on a rooted device.

You only need to root your phone if you want to run a specific app that requires root access. If you don’t plan on actually doing anything with that root access, don’t bother. You can always root it later if you need to.

Warnings

Android devices don’t come rooted for a reason. In fact, some device manufacturers go out of their way to prevent you from rooting. Here’s why:

  • Security: Rooting breaks apps out of Android’s normal security sandbox. Apps could abuse root privileges you’ve granted and snoop on other apps, something which isn’t normally possible. In fact, Google prevents you from using Android Pay on rooted devices for this reason.
  • Warranty: Some manufacturers assert that rooting voids your device’s warranty. However, rooting will not actually damage your hardware. In many cases, you can “unroot” your device and manufacturers won’t be able to tell if it’s been rooted.
  • Bricking: As usual, you do this at your own risk. Rooting should generally be a very safe process, but you’re on your own here. If you mess something up, you can’t just expect free warranty service to fix it. If you’re worried, do a bit of research first and see if other people report success rooting your device with the tool you’re planning on using.

In addition, rooting may void your warranty, at least for certain types of repairs. Check out our explainer on the subject for more information.

The Many Ways to Root an Android Phone

htcunlock

There are many ways to root an Android phone, and which one you should use depends on your phone. In general, rooting will involve one of these processes:

  • Unlock the Bootloader: Google and device manufacturers don’t officially support rooting, but they do provide an official way to gain low-level access to some devices, which then allows you to root. For example, Nexus devices are intended for developers, and you can easily unlock the bootloader with a single command. You can then root your device by flashing a .zip file containing the su binary from the recovery screen. Tools like the Nexus Root Toolkit for Nexus devices automate this process. Other manufacturers also offer ways to unlock the bootloader, but only for certain devices.
  • Exploit a Security Vulnerability: Other devices are locked down. Their manufacturers provide no official way to unlock their bootloaders and tamper with their software. These devices can still be rooted, but only by discovering a security vulnerability on the device and exploiting it to install a su binary onto their system partition. An OTA update might fix the security vulnerability as well as unroot the device. For example, there was an $18,000 bounty for the first person who could root a Samsung Galaxy S5 running on Verizon or AT&T. A vulnerability was found, but future updates could prevent the vulnerability from working and remove the ability to root the Galaxy S5.
  • Flash CyanogenMod or Another Custom ROM: Technically, this is an extension of one of the above methods. Unlocking the bootloader and exploiting a security vulnerability can each allow you to flash Custom ROMs like CyanogenMod, which often come pre-rooted. CyanogenMod includes a simple toggle on its settings screen that allows you to enable or disable root access. Upgrading to a new version of CyanogenMod or your custom ROM won’t unroot your device if the ROM comes with an integrated way to enable root.

In this article, we’ll primarily be discussing users who fall into the first camp, who have an unlockable bootloader. If your phone requires an exploit, we won’t be able to help you, since the process is different for just about every phone. You’ll have to search a forum like XDA Developers for more information on how to root your specific device. This guide previously featured one-click root apps Kingo Root and Towelroot, and those may still support some older phones as well.

If your device does have an unlockable bootloader, however, then read on. We generally recommend the TWRP method over one-click root programs because you learn exactly how everything works, which will help you troubleshoot if something goes wrong in the future–one-click root programs aren’t as transparent. Before you begin this process, you’ll need to unlock your bootloader the official way, and then install the TWRP recovery environment using these instructions. We’ll then use TWRP to root your phone.

How to Flash SuperSU to Your Phone and Gain Root Access

Alright, so you’ve unlocked your bootloader, and you’ve installed TWRP. Great! You’re actually almost there. To gain root access, we’re going to use a program called SuperSU, which gives you the ability to grant root access to other apps.

SuperSU is available in the Google Play Store, but that version doesn’t actually give you root access–in fact, you need root access to use it in the first place! Talk about a Catch-22. Thankfully, SuperSU is also available as a .zip file that we can “flash” with TWRP. Doing so will grant you root access along with the management features of SuperSU’s Android app.

So, to start, head to this link, which will take you to the latest version of SuperSU available for download. Download the .zip file to your computer, plug in your phone with a USB cable, and drag the SuperSU zip to your phone’s internal storage or SD card.

Next, reboot your phone into TWRP recovery. Doing this is a bit different on every phone–for example, you may have to hold the Power and Volume Down buttons simultaneously, then use the volume keys to boot “Recovery Mode”. Google instructions for your specific model to see how it’s done.

Once you’ve done so, you’ll be greeted with the familiar TWRP home screen. Click the Install button.

NOTE: You should probably make a backup in TWRP before continuing with this process.

1-twrp-install

The following screen will appear. Scroll down and navigate to the SuperSU ZIP file you transferred earlier.

2-choose-zip

Tap the SuperSU zip and you’ll see this screen. Swipe to confirm the flash.

3-confirm-flash

It should only take a moment to flash the SuperSU package.  When it finishes, tap the “Wipe cache/Dalvik” button that appears and swipe to confirm.

4-wipe-cache

When that finishes, tap the “Reboot System” button to boot back into Android.

If TWRP asks if you want to install SuperSU now, choose “Do Not Install”. Sometimes, TWRP can’t detect that you already have SuperSU, so it’ll ask to flash its built-in version. But it’s almost always best to flash the latest version of SuperSU yourself, which we’ve just done.

TWRP-root

Managing Root Permissions With the SuperSU App

When you reboot your phone, you should see the new SuperSU icon in your app drawer. SuperSU controls which other apps on your phone get root permissions. Whenever an app wants to request root permissions, it has to ask your SuperSU app, which will show a request prompt.

To make sure root is working properly, you can download the Root Checker app and verify your rooted status. Alternatively, download a root-only app you’ve been wanting to try, and see if it asks you for superuser permissions.

For example, if we open and try to add an app to Greenify–a handy battery-saving app for rooted phones–we’ll see this popup, asking for root access. If you click Grant and you get a success message, you have successfully achieved root on your phone.

2016-01-28 23.57.10

To manage root permissions, open your app drawer and tap the SuperSU icon. You’ll see a list of apps that have been granted or denied superuser access. You can tap on an app to change its permissions.

If you ever want to unroot, open the SuperSU app, go to its Settings screen, and tap the “Full unroot” option. It will attempt to unroot your device. If it works for you, this is definitely the easiest way to unroot your phone.

But for now, the world is your root-friendly oyster. You can check out our list of great root apps for ideas, or install the Xposed framework for some seriously cool tweaks. Good luck!

Image Credit: Norebbo

Whitson Gordon is is the editor-in-chief of How-To Geek. He is also a Windows user, PC builder, metalhead, chopstick-using potato chip eater, and Midwest-to-Southern California transplant. You can follow his nerdy exploits on Twitter and Facebook.


Chris Hoffman is a technology writer and all-around computer geek. He's as at home using the Linux terminal as he is digging into the Windows registry. Connect with him on Twitter.