microG fails to register applications to GCM/FCM (Cloud Messaging) if they were installed **before** microG, but the apps keep trying to register and that causes the battery drain, all apps installed **after** microG are properly registered.
To fix the battery drain, issue the following shell command as root:
If you use `AppOps`, `PrivacyGuard` or the like you have to grant microG GmsCore **all** permissions. If you prevent some permissions, some apps or features might not work as expected or not at all.
**Note:** some APIs/features are stubs in microG GmsCore. They exist so that apps don't complain, but they do nothing so there is no benefit to block GmsCore.
On some ROMs, It might happen that microG (Magisk mode) is not granted the `RECEIVE_SMS` and `ACCESS_BACKGROUND_LOCATION` permissions. The fix is to install microG as user-app addtionally to system-app. This is done automatically starting with version 23.0 of NanoDroid (and **not** required in System Mode installation).
See [microG issue #1100](https://github.com/microg/android_packages_apps_GmsCore/issues/1100#issuecomment-711088518) and [microG issue #1100](https://github.com/microg/android_packages_apps_GmsCore/issues/1100#issuecomment-711141077) for background information
Play Store tries to update itself or the Play Services, both updates fail because you have microG and a modified Play Store installed. You can disable the `GMSCoreUpdateService` service of the Play Store to prevent it from updating.
If your Play Store doesn't show already bought apps as bought, you need to register the device ID to your Google Account. Doing so will eliminate the "uncertified" status of Play Store and thus will allow you to re-download your already bought apps. Also, remote installations using `https://play.google.com` will work again afterwards.
* when using Titanium Backup or OAndBackupX first install the app only (without data) and start it, this will register the app, afterwards restore it's data
* when restoring the ROM from a TWRP backup GCM registration for apps is sometimes broken. You may use the following command to reset GCM/FCM connection(s). App(s) will re-register when launched afterwards:
*`nutl -r APPID` (eg.: APPID = `com.nianticlabs.pokemongo`) or `nutl -r` (for all applications)
* some ROMs with native signature spoofing don't look for `com.google.android.gms` as location provider
* tell the developer (or maintainer) of the ROM to fix this
* some versions of `com.qualcomm.location` conflict with uNlp, if it's installed and unified Nlp doesn't work, try the following command to get rid of it, as root, on-device:
*`novl -a com.qualcomm.location`
* unified Nlp is registered in the system, but fails to get location
* issue the following commands as root, on-device:
*`pm grant com.google.android.gms android.permission.ACCESS_FINE_LOCATION`
*`pm grant com.google.android.gms android.permission.ACCESS_COARSE_LOCATION`
* some versions of `com.qualcomm.location` conflict with uNlp, if it's installed and unified Nlp doesn't work, try the following command to get rid of it, as root, on-device:
*`novl -a com.qualcomm.location`
* Ichnaea (Mozilla) location backend doesn't provide location
* if you use Blockada, add the location backend to the whitelist
* for any other ad-blocker, whitelist the following domain:
On some ROMs (most noticeably MIUI ROMs), F-Droid can't install applications. This is because F-Droid's Priviledged Extension is not compatible with those ROMs:
* Disable it from F-Droid > Settings > Expert Settings > Privileged Extension
* Some Stock ROMs do not properly work after first boot since their SetupWizard is disabled by NanoDroid (because it's incompatible with microG)
* check `/system/build.prop` or `/vendor/build.prop` if they contain the property `ro.setupwizard.mode` and change it to (you can do this from TWRP via ADB, with the builtin `vi` editor)
*`ro.setupwizard.mode=DISABLED`
* in Magisk Mode NanoDroid will do this on it's own using Magisk's `resetprop`
* if you can access your device via ADB, you can also issue the following command as root, on-device:
Some ROMs already have the patch built-in. If you patch those ROMs (again), it results in heavy lags. Recent Patcher versions check whether the ROM has the patch already applied and disallow double-patching