[Magisk] gps3dx:
On another topic - just wanted to post a small

nanodroid installation guide on Q ( which is almost similar to P ):

First download Nanodroid files from OP.

Usually you need to download minimum 2 files:

NanoDroid-XXXXXX.zip

NanoDroid-setupwizard-XXXXXX.zip

* XXX is the version - usually you want the latest.

Then, you MUST configure nanodroid

BEFORE

you flash its main zip, by flashing "setupwizard" zip - this step is necessary to perform only a single time. ( per current nanodroid version why ? since there might be changes to setupwizard - i.e nanodroid installation configuration - I recommend flashing "setupwizard" each time you *upgrade to a new nanodroid version*. )

now, a note - I do NOT RECOMMEND installing Nanodroid systemlessly - I know it *should be possible* but from my experience it's not as stable as installing nanodroid as system app.

So, when you configure nanodroid's setupwizard - make sure to choose BOTH of the following options inorder to install nanodroid on /system and NOT systemlessly:

Force System

init Scripts

Basicly, a rom flashing sequence that inc nanodroid ( assuming you already config nanodroid setupwizard ) should be:

rom

nanodroid

kernel ( if at all, not obligatory; can be flashed before nanodroid, it doesn't matter )

"magisk" as the root solution( latest stable v20.1 was released about half a day ago ).

Then, when OS loads, open 'MicroG Settings' and perform the following ( assuming your rom has built-in support for signature spoofing ).

Click on 'self-check' then start pressing on the UNchecked checkboxes...you should be left with only ONE unchecked about phonesky ( play store ) not having correct sig ( beside these checkboxes related to location i.e "unified settings" )

Give signature spoof permission to nanodroid's components:

open shell ( by adb or some app ), run 'su', approve the magisk popup for admin rights, then run 'npem' to give playstore the missing permissions related to the sig spoof.

please note that the above step is correct for any rom with built-in signature spoof.

nontheless, *SOME* (P only?) roms can achieve the same with UI only operations as follows:

Finally, Return to 'MicroG Settings'->'Self-Check', now the checkbox I mentioned in step 1 ( phonesky signature spoof ) should be checked.

IMPORTANT NOTE

- you MUST perform step #2 above EACH TIME YOU DO 'CLEAR STORAGE' of either "Google Play store" or "MicroG Services Core" !

( either by shell or UI if you can )

You can check the status yourself using shell:

dumpsys package com.google.android.gms | grep -i fake
dumpsys package com.android.vending | grep -i fake

OK ( i.e spoof has been applied ) is only when you get "granted=true" e.g

android.permission.FAKE_PACKAGE_SIGNATURE
android.permission.FAKE_PACKAGE_SIGNATURE: granted=true

1st line, dumpsys lists the possible permissions the app requests,

2nd line dumpsys lists the permissions the app got approved from system.

From microG settings, enable "google device registration" and "google cloud messaging" so that 3rd party apps that relay on google services will work with google.

Enable any "unified settings" you want to get GPS services - I enable apple and mozille.

LOGIN INTO YOUR GOOGLE ACCOUNT.

NOTE 1:

Are you unable to restore purchased apps from the 'Google Play Store' ?

i.e that instead of "install" button you get a button with the app's original cost as if you haven't already purchased it.

A *possible* ( need more testing ) solution is TO PERFORM THE LOGIN BY OPENING GOOGLE PLAY STORE -> CHOOSE LOGIN... i.e DO NOT login into google account through microG settings app NOR system setting's 'accounts' page.

NOTE 2:

- During the login process: DO NOT open 'recent' or 'last app' when the login process 'thinks' ( i.e loading/thinking screens and tells you to wait by showing a circle animation) - this is due some bug that cancels the login process if you jump screens.

if you must, open recents/other apps ONLY WHEN requests some input from you, like username or password etc.

Goto OS 'settings' -> accounts-> click on your 'google' account ->account preferences-> enable BOTH 'trust google for apps permissions' AND 'Allow apps to find accounts'.

GL.:angel: