Android users have been rooting their phones since the beginning of the operating system, but in recent years it has gotten much more complicated. More recently, a new method for handling root management has emerged, and it’s called Magisk.
What Is Magisk?
Traditionally, rooting an Android phone has gone something like this: unlock the bootloader (or find an exploit), flash a custom recovery, install SuperSU. And for years that worked very well.
RELATED: What Is “Systemless Root” on Android, and Why Is It Better?
But starting with Marshmallow, Google essentially blocked the most popular root methods of previous versions—dropping the “su” daemon into the /system partition and running it with the required permissions at startup. This resulted in a new sort of root access, called “systemeless” root, named such because it doesn’t modify the /system partition in any way.
As part of this increased security, things like Google SafetyNet have been put in place to keep services like Android Pay secure, which leaves users having to choose between root access and valuable services. It’s a bummer.
RELATED: Forget Flashing ROMs: Use the Xposed Framework to Tweak Your Android
But that’s where Magisk comes in. This is a basically the evolution of root access and management on Android. It leaves SafetyNet untouched, so users are still able to access Android Pay and Netflix, but still allows for powerful root tools like Xposed to continue working. It’s truly the best of both worlds.
It’s completely open source, under constant development, and getting better every day. Now may be the time to make the switch to this new root solution if you’ve been concerned about losing things like Android Pay.
How to Get Started with Magisk
First, you’re going to need the Magisk file. You can read about all the benefits of Magisk and grab the download by heading over to this thread on XDA. Go ahead and grab the Magisk Manager while you’re at it—you’ll need it later. Copy both to your phone’s internal storage or SD card.
Note: If you’ve used a different root method before, you’ll have to completely unroot your device before using Magisk. We recommend using the unSU Script to do so.
You’re also going to need a custom recovery like TWRP to flash Magisk on your phone. I’m doing this process on a completely stock, bootloader-unlocked Nexus 5, so your mileage may vary.
To start the process, boot into your custom 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.
From your custom recovery, flash the Magisk ZIP you transferred to the phone earlier. In TWRP, that means tap on “Install,” then find the Magisk file. Tap on “Install Image.”
Confirm all the details here, then swipe to confirm the flash.
The file will take a few seconds to flash. Once it’s finished, tap the “Reboot System” button. Done.
Once the phone boots back up, you’ll need to install the Magisk Manager, which you should’ve downloaded from the above XDA thread. You’ll need to have Unknown Sources enabled before you can install this app—jump into Settings > Security > Unknown Sources, click the toggle and accept the warning.
After that, you can install the Magisk Manager from the downloads folder if you downloaded it directly on your phone, or with a file explorer if you transferred it from your computer.
Once installed, fire that bad boy up. It should start up on the status page, where you’ll see that you’re running the current version and it’s properly rooted. You can also perform a SafetyNet check here if you’d like, which I encourage.
NOTE: Your device won’t pass the SafetyNet check if the bootloader is unlocked unless you use Magisk Hide, which we’ll talk about down below.
And with that, you’re ready to start using Magisk.
Using Magisk
Magisk is sort of an all-in-one solution for root management, root app installation, and more. Think of it like SuperSU mixed with Xposed, all in a clean, tight package. So good.
The app is very straightforward and easy to understand, especially if you’ve used a rooted phone before. Here’s a quick breakdown of the menu, which you can access by swiping in from the left-hand side of the app:
Status: This shows the currently installed version, as well as root and SafetyNet status. Install: For Magisk installation directly from the app. Useful once you’ve already gone through the initial setup and want to keep Magisk up to date. SuperUser: This is basically the SuperSU section of Magisk. Modules: Currently installed Magisk modules. Downloads: Where you’ll download Magisk modules. Log: Root request log.
If you dive into the Settings menu, you’ll also find some really neat, but more advanced options. Again, here’s a breakdown of what they all do:
Dark Theme: Changes the app theme. Update Notification: Get a push notification when there’s a new version of Magisk available. Clear Repo Cache: Refreshes the app repository. Magisk Core Only Mode: Magisk in its simplest form, with just superuser, hide, systemless hosts, and busybox. Enable this if your device doesn’t pass the SafetyNet check. Enable Busybox: Mounts busybox. Magisk Hide: Hide’s Magisk from known detections that certain apps use to block access because of root status. Systemless Hosts: For Adblock apps. SuperUser Access: Choose what services are allows to request superuser access. Apps, ADB, both, or completely disable SuperUser. Automatic Response: Prompt, approve, or deny superuser request automatically. Request Timeout: How many seconds Magisk waits before automatically denying a request. SuperUser Notification: Toast or none. Displayed when an app is granted superuser permissions. Enabled advanced debug logging: Enabled verbose logging. Probably not necessary for most users. Enable shell command debug logging: Enables logging of shell commands and their output. Again, probably not necessary for most users.
Most of these are passively enabled (meaning they work in the background), with the exception of Magisk Hide. Once enabled, a new option will show up in the menu—Magisk Hide. This is where you’ll tell Magisk which apps to hide its presence (and status) from. Android Pay is selected by default, but you can also choose any other that won’t work on a rooted device—like Netflix and Pokémon Go, for example.
If your device doesn’t pass the SafetyNet check (as mine didn’t at first), apps like Android Pay won’t work until you fix this—regardless of Magisk Hide status. If you’re using a device with June security patches, you’ll need to enable Magisk Core Only mode in Settings (and then reboot) before it will pass SafetyNet. This will disable all Magisk Modules, but all root functionality and BusyBox will still work. If that doesn’t fix the issue, check this thread for troubleshooting.
Overall, Magisk is the answer to many of the root questions that users have had since Marshmallow. It’s the solution to most (if not all) of the issues rooted users have with modern handsets and services. When set up correctly, Magisk should provide the perfect balance between using Android with all the services you love without sacrificing the root tools you’ve become accustomed to using.