The latest update to Pokémon GO (0.37) has locked out rooted devices, but there is a way to get around the restriction and play Pokémon GO on a rooted phone. Here's how to hide the root on an Android phone. Also see: How to root an Android phone or tablet.
Niantic is determined to remove cheats from Pokémon GO, and it has taken drastic measures to block GPS spoofers by placing a ban on all rooted phones. But this isn’t exactly fair on those who have rooted their phones for reasons that have nothing to do with the game.
A solution comes from Magisk, which was created by XDA Developers member topjohnwu. Magisk can get around the SafetyNet API employed by Niantic, and has seen previous success in enabling Android Pay (which also uses SafetyNet) on rooted phones. Also see: How to speed up GPS on Android.
How to play Pokémon GO on rooted phone using Magisk
Disclaimer: We would not advise messing around with rooting and unrooting your phone unless you know what you are doing, and PC Advisor takes no responsibility for any damage to your phone. We’re still waiting for the update to Pokémon Go 0.37 here in the UK, so have been unable to test the below method ourselves. However, Android Police has been able to do so on a Moto X Pure Edition rooted with SuperSU v2.78. You’ll find more details and pictures from its testing here.
Before you use Magisk topjohnwu says you should restore your device to a stock system and boot, and it will need to have an unlocked bootloader. You should then download and in recovery flash the latest version of Magisk to your device.
You can now re-root using a Magix version of SuperUser 17, and install SuperUser from Google Play.
The final step is to install Magisk Manager. When you want to play Pokémon GO on your rooted phone you simply open this app and disable the Root Toggle. This will temporarily turn off the root and hide it from the game. When you’ve finished just open this app and re-enable the Root Toggle.