UnifiedNlp
UnifiedNlp copied to clipboard
Not working on LineageOS 14.1 03/09/2017
The following patch to allow location providers outside of /system doesn't seem to work any more.
https://github.com/microg/android_packages_apps_UnifiedNlp/blob/master/patches/android_frameworks_base-N.patch
I built a fresh rom using code grabbed on 03/09/2017 and the self check doesn't show UnifiedNlp being registered in system. I have installed "Wifi Location Service", "Mozilla Location Service", and "Nominatim". The "Locations backend(s) set up" is checked.
Possibly related issue, https://github.com/microg/android_packages_apps_GmsCore/issues/341
System: Moto X Pure (Clark) LineageOS 14.1 Built on 03/09/2017 microG Services Framework Proxy v0.1.0 UnifiedNlp (no GAPPS) v0.2.4-79-g7f13738 LocalWifiNlpBackend v1.1.6 MozillaNlpBackend v1.3.2 NominatimNlpBackend v1.2.1
Are you using file based encryption? location providers might not work outside /system with file-based-encryption (even when using the patch). Did you reboot after installing microG?
Chipping in to same same issue. Rebooted after installing (though not immediately).
System: Nexus 6P (angler) Encrypted LineageOS 14.1 (build 2017-04-03) UnifiedNlp (no GAPPS) 1.6.8 MozillaNlpBackend 1.3.2 OpenBmapNlpBackend 0.2.6
@mar-v-in It's working for me when I have UnifiedNlp installed to /system. I do have full encryption set up, is that still a problem even when I boot up and enter in the encryption passphrase?
Recent android versions support two encryption modes: full-disk-encryption (FDE) and file-based-encryption (FBE). FDE is when you enter your password in a gray full screen during boot and will see the boot animation after decrypting the disk. FBE will boot straight to the lock screen and by unlocking the screen you are decrypting the files.
The patch will only work with FDE. I might invest some time soon in developing a more sophisticated approach that works with FBE as well.
I just now read into FBE, I hadn't known that feature was there. Still I'm probably going to continue to use FDE as I can panic shutdown to secure my data when I have my device or remotely.
This should be more obviously documented… If you use GmsCore, which includes UnifiedNlp, push it into /system/priv-app, don't get UnifiedNlp. Only this apk:
@myfreeweb already done what you said. GmsCore is installed in system/priv-app but in microG setting, "system support location provider" still not ticked and it doesn't recognize unifiednlp registered in system. I already reboot after installing microG though
Device : Lenovo K3 note ROM : AOSP Android : 7.1.2
No UnifiedNlp either on LineageOS.
Samsung i9305
Fresh LineageOS 14.1 20170503
Flashed https://github.com/nvllsvm/freecyngn/blob/70202a488faa235c5f66d3458484b4333b531e4b/20-freecyngn.sh minus LockClock
No encryption set (FBE/FDE)
UnifiedNlp (no GAPPS) v0.2.4
MozillaNlpBackend v1.3.2
NominatimNlpBackend v1.2.1
FakeStore v0.0.2
UnifiedNlp (no GAPPS) upgraded to v0.2.4-92-g3669bab, rebooted again, no improvements.
I didn't try the /system/priv-app method. /system is read-only and I don't seem to be able to remount it rw.
Same problem here w/ LineageOS 14.1 on LG G5. UnifiedNlp shows as not being registered in the system, during self-check. Neither with the priv-app method.
I grepped the adb logcat output for NetworkLocation after pushing the apk and rebooting. Maybe any of this helps in debugging?
05-07 13:34:32.447 1815 1884 I PackageManager: /system/priv-app/NetworkLocation.apk changed; collecting certs
05-07 13:34:32.509 1815 1884 I PackageManager: Package com.google.android.gms codePath changed from /data/app/com.google.android.gms-1 to /system/priv-app/NetworkLocation.apk; Retaining data and using new
05-07 13:34:32.513 1815 1884 W PackageManager: Code path for com.google.android.gms changing from /data/app/com.google.android.gms-1 to /system/priv-app/NetworkLocation.apk
05-07 13:34:32.513 1815 1884 W PackageManager: Resource path for com.google.android.gms changing from /data/app/com.google.android.gms-1 to /system/priv-app/NetworkLocation.apk
05-07 13:34:44.316 1815 1815 W LocationProviderProxy-network: Odd, no component found for service com.android.location.service.v3.NetworkLocationProvider
05-07 13:34:44.771 1815 1866 W LocationProviderProxy-network: Odd, no component found for service com.android.location.service.v3.NetworkLocationProvider
05-07 13:35:03.725 2995 2995 W System : ClassLoader referenced unknown path: /system/lib64/NetworkLocation
05-07 13:35:09.105 3285 3333 W System : ClassLoader referenced unknown path: /system/lib64/NetworkLocation
05-07 13:35:09.105 3285 3333 D ApplicationLoaders: ignored Vulkan layer search path /system/lib64/NetworkLocation:/system/lib:/vendor/lib for namespace 0xf0d69090
05-07 13:35:13.312 3659 3659 W System : ClassLoader referenced unknown path: /system/lib64/NetworkLocation
05-07 13:35:13.313 3659 3659 D ApplicationLoaders: ignored Vulkan layer search path /system/lib64/NetworkLocation:/system/lib64:/vendor/lib64 for namespace 0x74471f80f0
05-07 13:35:14.457 3659 3679 W System : ClassLoader referenced unknown path: /system/lib64/NetworkLocation
05-07 13:35:14.458 3659 3679 D ApplicationLoaders: ignored Vulkan layer search path /system/lib64/NetworkLocation:/system/lib64:/vendor/lib64 for namespace 0x74471f8160
I wonder if it's something to do only with LineageOS?
I have CopperheadOS (last version, 7.1.2) encrypted with FBE and the patch from this repository, and UnfiiedNlp is working fine as an user application.
To be clear, I didn't install it under /system/priv-app (nor I did that for MicroG).
I get all the checkboxes in the self check and location is working fine in applications.
Hi all, I installing UnifiedNlp with Mozilla backends but I have not tick on registered on system, I did not everyrhing, I only install them from F-Droid, what I should do now ro integrate into system?
My system: Sony Z3 compact Fresh Lineage 14.1-20170511-UNOFFICIAL-z3c Android 7.1.2 UnifiedNlp 1.6.8 MozillaNlp Backends 1.3.2 System not encrypted
The simplest way is uninstall all components that you have installed and flash my flashable zip.
Same problem, location doesn't work on LOS 14.1. Installing gmscore as system app breaks my system, and as a user app location doesn't work.
My system: Moto G (2013) falcon Lineage 14.1-20170718-OFFICIAL GmsCore 0.2.4-103 MozillaNlp Backend 1.3.2 Not encrypted
@ZJaume: What do you mean with "breaks my system"? It works perfectly on all phones where I have tried it.
@ale5000-git I have converted gmscore to system app, and I rebooted the phone, and then it freezes a few seconds after the boot has completed. I had to remove the app from /system/priv-app manually with twrp.
@ZJaume: Have you tried to install it directly with a flashable zip without have installed it before? Maybe the "conversion" didn't go well.
all the "conversion" you need is just putting the apk into /system/priv-app, you can e.g. adb push while in the recovery
@myfreeweb: Although it is rare that are a number of things that can make it fail in some ways (including a messed up or full system partition).
If you want you can try the "mostly" clean procedure:
- Format /system
- Flash ROM
- Apply signature spoofing patch if needed
- Flash microG unofficial installer
This can't fail (in the very rare case it fails I can fix the problem if reported with logs).
I just dirty flash the LineageOS update, the vendor image, apply the signature patch and adb push the microG apk. Works every time.
@myfreeweb: Sorry, I just confused you with ZJaume :)
@ale5000-git I'll try next week.
@Azphreal @ggwp21 @kehugter @djmaze @coderex96 @ZJaume
The latest version of microG unofficial installer automatically:
- remove GApps;
- remove conflicting location packages;
- install microG (that include UnifiedNlp) and some backends.
It should fix all problems without effort.
Thank you for your support, but I don't want a script that installs google propietary code (play store). Maybe if I have time I will explore your code to delete playstore installation or replace it with fakestore.
@ZJaume: If you want you can try the test build with live setup here. It allow to choose between Google Play Store and FakeStore.
Note: Currently this test build works only on ARM phones.
@ZJaume microG is not "google proprietary code" – but an open source replacement of that. In a nutshell, it fakes the Google APIs to fool apps into thinking they are there – but in fact, when requesting an area from "Google Maps", they receive it from Open StreetMap, etc.
@IzzySoft I know perfectly well what it is mircoG, What I was saying was that microG unofficial installer installs Google Play Store apk by default, and I don't want it.
@ZJaume Oh – I wasn't aware of that! Who could think of such a crazy idea? :scream: Doubt it was Marvin.
I've never used that installer – and knowing that, I doubt I ever will. Somehow completely defeats the purpose of the microG framework (at least for many of us). As an option I could understand it, but no more.
@IzzySoft
Think as it in this way:
- Remove 75% of the evil; better performance, user exeprience unchanged, (almost) no features lost;
- Remove 100% of the evil; better performance, user experience decreased, many features lost.
It can also be installed on phones with GApps and transparently do the switch without downtimes in a way that also a child can do it :)
Bwt in the test version there is an option to choose.
@ale5000-git Yupp, that's what I meant by "as an option I could understand it". I'm aware that this (installing µG and Playstore) is what some folks prefer as they feel there's no real alternative to the latter (and yes, there's quite something gained that way).
But the option to get rid of the evil altogether (and for the rare cases needed, simply use eg. Yalp) should be there. Good to read it's available in the test version; does that mean it's planned for the "regular" one?
@IzzySoft: Yes, but for making it compatible with all recoveries I have to use a different way to allow live options without aroma (by only using the +/- volume keys) and this complicate things a bit.