[Android Apps and Games] MaR-V-iN:
Using Pokemon Go without GAPPS

The dependencies required to run Pokemon Go with microG differs between ROMs.

These instructions assume you are not running any microG tools or legacy NOGAPPS components. If you do, you might see problems at some of the steps and/or need to adapt the instructions. e.g. if you are using BlankStore, you don't need to install FakeStore and instead need to update permissions of BlankStore. If you already have microG UnifiedNlp installed as stand-alone, you need to uninstall it first.

If your ROM supports signature spoofing and network locations out of the box (OmniROM, Marsh and some others, ask your ROM builder if unsure, official CM does not):

Install F-Droid (download apk from f-droid.org)

Add microG F-Droid repo as a custom repository to F-Droid (easy by scanning the QR code here)

Using F-Droid, install latest microG Services Core (0.2.4), microG Services Framework Proxy and FakeStore. Sometimes, microG Services Core is named "µg UnifiedNlp (no GAPPS)" in F-Droid, just install that one then

Using F-Droid, install at least one UnifiedNlp backend. I suggest using the Mozilla or Apple backend for high accuracy

Download and Install Pokemon Go from a trusted source, e.g. apkmirror.com

Open systems settings -> Apps -> Gear icon -> App permissions, skip this step if on Android versions earlier than 6.0

In contacts, grant permission to Pokemon Go and microG Services Core

In location, grant permission to the selected UnifiedNlp backend (e.g. Mozilla), Pokemon Go and microG Services Core

In phone, grant permission to the selected UnifiedNlp backend (if requested) and microG Services Core

In spoof package signature, grant permission to FakeStore and microG Services Core.

In storage, grant permission to Pokemon Go and microG Services Core.

Open "microG Settings" from your launcher.

Enable device checkin and cloud messaging.

Open "microG Settings" -> "Self-Check". Ensure that all points under "Signature spoofing support", "Installed packages", "permissions granted", "network location provider support" are checked. If one of the points is not checked, read its description and/or report back here.

Open "microG Settings" -> "UnifiedNlp Settings" -> "Configure locations backends" and tick the location backend you choose at installing.

Reboot your device

Open "microG Settings" -> "Self-Check" again. Now all points, including those at "UnifiedNlp status" should be checked.

Open System settings -> accounts -> add accounts -> Google and follow instructions if you want to use a Google accounts with Pokemon Go

Don't forget to set location mode to "high accuracy" in system settings -> location

Open Pokemon Go. Play and have fun.

If your ROM does not support signature spoofing, but network locations (most CM based and other custom ROMs as well as modified stock ROMs):

Install Xposed (follow instructions found here on XDA)

Install FakeGapps Xposed module

Reboot

Continue as with a ROM that support signature spoofing (first instructions of this post), but ignore anything about signature spoofing permission

OR use "Needle" to enable signature spoofing.

If your ROM does not support signature spoofing nor network locations (e.g. CopperheadOS):

Install Xposed (follow instructions found here on XDA)

Install FakeGapps Xposed module

Install XposedGmsCoreUnifiedNlp xposed module

Reboot

Continue as with a ROM that support signature spoofing and network location (first instructions of this post), but ignore anything about signature spoofing permission

If Pokemon Go still does not work after following this instructions, please tell the exact problem (no gps fix, can't login, etc) as well as which of the three instructions you took.

Please note that Niantic might be able to detect that you are not using legitimate Google Apps on your phone and thus might decide to ban you. I don't think they will, but don't blame me if they do.