GmsCore: Your system does not support this UnifiedNlP Package
Hello
I’m running an Mi A1 Stock Oreo. I used the Terminal Debloater and removed as much of Google as I understand…
Apps Installed
Xposed - version 90-beta 3
FakeGapps - 2.0
Magisk 16.0
Services Core - com.google.android.gms-9258259.apk
Services Framework Proxy - com.google.android.gsf-8.apk
Store (FakeStore release) - com.android.vending-16.apk
DroidGuard Helper - org.microg.gms.droidguard-4.apk
From the above apps I installed, I didn’t install any UnifiedNlP package. These are the same apps I install in Custom Roms, and I don’t see this message in Custom Roms, but for some reason running Stock Oreo with only these packages installed, it is not working. instead in the microg settings I see this section;
System supports location provider
Your system does not support this UnifiedNlP
package. Either install a matching package or a
compatibility Xposed module.
Should I also install UnifiedNlp.apk
& NetworkLocation.apk
?
I’m attaching two screen shots showing the microg settings.
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 1
- Comments: 26 (9 by maintainers)
I wonder whether
com.qualcomm.location
is the proprietary blob described in their official site asthat is to say, even if we use UnifiedNlp, the presence of
com.qualcomm.location
means that users will upload these privacy dataperiodically
? I searched in the repo of LineageOS and found that the maintainers repeatedly re-added it into blobs, even disabling location overlays so that UnifiedNlp won’t work any longer. I don’t understand what is the difficulty there, but LineageOS is at least advertised to be free and open-source, if there is no difficulty to removecom.qualcomm.location
, I don’t understand why they include it and make it exclusive.It’s just the way the location provider is technically implemented, I haven’t cared enough to go deepe into details. oF2pks has posted a link (in the NanoDroid XDA-Thread) to a git commit by OnePlus which shows that change.
The NanoDroid-Patcher (again) includes the unified_nlp patch, which might fix the issue.
But what I noticed is that on some devices com.qualcomm.location must be installed for uNlp to work, while on most/older ROMs you need to remove that package for uNlp to work. The OnePlus 5T is one of the affected devices.
I’ve since moved on and with the latest changes in NanoDroid-microG, it all works now…
No need to reply on my behalf…
Thanks
I’ll have a look at it during the next days.
Ok last one, this time I wiped and installed all microG from F-Droid. So for now it shows two items unchecked, I’m attaching a screen shot. Also new logcat and find.txt
find.txt
find.txtlogcat
logcat.txtTHANKS!
I know who you are, just wasn’t sure if you did anything on microG project. Your work on NanoDroid is greatly appreciated!
I’ve attached a find.txt run from this cmd; find /system /data/{app,data,misc*,system*} > /sdcard/find.txt
And a logcat
find.txt
logcat.txt
This is with Xposed installed and the XposedGmsCoreUnifiedNlP module, so I wonder if it’s going to hide the problem and I need to give you logs without Xposed and the module?
Thank you very much for your help!
As in regard of your previous question: I’m not part of the microG project, I’m just using it myself and try to help others.
About /system/app Vs. /system/priv-app: for GmsCore this is required, for the others it shouldn’t make a difference in the end.
As for framework-res, I in fact never had a look at it for modifying one regarding unlp, as I always use Aftermarket ROMs, where in most cases, regardless whether pre- or self-patched, unlp works straight out of the box. The problem with this approach is, that it will be defeated by each ROM update.
Could you post what stuff is inside /system/app and /system/priv-app, aswell as a logcat? It should contain information about why unlp fails to register in the system.
@Nanolx I had a look through the NanoDroid-microg and what it’s removing, but I didn’t have anything extra that needed removing in these paths
Also I see this is what you place in
priv-app
/NanoDroid-microG-18.3.1.20180921/system/priv-app >ls DroidGuard FakeStore GmsCore GsfProxy Phonesky YalpStore
So for microG I’ll add in these paths too;
/system/priv-app/DroidGuard /system/priv-app/GmsCore /system/priv-app/GsfProxy
But on the Wiki it only talks about GmsCore for priv-app; https://github.com/microg/android_packages_apps_GmsCore/wiki/Installation
So I would of thought if these were all needed, it would be mentioned on the Wiki…
System supports location provider is still unchecked.
I wonder if decompiling and changing the framework-res.apk this might work?
THANKS
You said you installed everything from F-Droid? Starting with Android 7 microG needs to be a system app (in /system/priv-app) in first place for unifiednlp to work. So you need to move them there.
You don’t have to grant all of them manually, only those that are missing
But yes, technically that would be correct.
@Nanolx thanks for sharing this with me. It also made me think to install DejaVu just to be on the safe side for it’s benefits…
So I guess to be safe I’ll run all these permissions;
pm grant com.google.android.gms android.permission.ACCESS_COARSE_LOCATION pm grant com.google.android.gms android.permission.ACCESS_FINE_LOCATION pm grant com.google.android.gms android.permission.GET_ACCOUNTS pm grant com.google.android.gms android.permission.READ_EXTERNAL_STORAGE pm grant com.google.android.gms android.permission.READ_PHONE_STATE pm grant com.google.android.gms android.permission.WRITE_EXTERNAL_STORAGE
pm grant com.android.vending android.permission.ACCESS_COARSE_LOCATION pm grant com.android.vending android.permission.ACCESS_FINE_LOCATION pm grant com.android.vending android.permission.GET_ACCOUNTS pm grant com.android.vending android.permission.READ_EXTERNAL_STORAGE pm grant com.android.vending android.permission.READ_PHONE_STATE pm grant com.android.vending android.permission.WRITE_EXTERNAL_STORAGE
pm grant org.microg.nlp.backend.ichnaea android.permission.ACCESS_COARSE_LOCATION pm grant org.microg.nlp.backend.ichnaea android.permission.ACCESS_FINE_LOCATION pm grant org.microg.nlp.backend.ichnaea android.permission.READ_PHONE_STATE
pm grant org.fitchfamily.android.dejavu android.permission.ACCESS_COARSE_LOCATION pm grant org.fitchfamily.android.dejavu android.permission.ACCESS_FINE_LOCATION
Look good?
THANKS
Hmm… I never installed microG from just the plain APKs, but it may be that you need to manually grant several permissions if it’s not a /system app.
Most microG installers place them as system apps and provide a permissions file for Android to know that it has to grant those permissions. But yes, theese two above are among them, see the permissions file used in NanoDroid.
It removes all location providers as per the link posted above.
Stock ROMs usually have there own location provider, which conflicts with unlp. On some ROMs it is enough to ‘simply’ remove all conflicting ones.
Here you can find a list of conflicting location providers, which you may try to get rid of and see what happens.
If it still doesn’t work, then the framework would need to patched in order to support unlp (which the Xposed module does on-the-fly). Please note that regardless of this issue, on Android Pie we experience issues with unlp even on supported ROMs, so Oreo is currently the best choice for microG users.