✏ µG Unified Nlp (with Installation Guide)

I wasn’t able to find out whether the F-Droid version is a legacy build for Android versions up to 4.3 or if it’s a Kitkat / Lollipop build (see UnifiedNlp Readme)…

At first µg UnifiedNlp didn’t work for me, because I hadn’t read the README carefully enough. I thought that it is sufficient to install µg UnifiedNlp and one of the backends from F-Droid but this didn’t work. In addition one has to install LegacyNetworkLocation.apk according to the README file, which can be donwloaded from here.

After that I tested µg UnifiedNlp together with the AppleWifi and the GSMLocation Backend and it was successful in the sense that I got an approximate position without having a GPS fix.


Where did you get an approximate position? In OSMand~?

Yes, I used Osmand~. The circle around the position is larger than usual and SatStat says that no GPS fix is acquired.

Are you install it as system app?

The F-Droid build doesn’t work for me. I installed LegacyNetworkLocation.apk from releases page as a normal app, not as a system app, and this works with LocalWifiNlpBackend from F-Droid.

I have FairPhoneOS 1.8 without Google Services and I need to enable Settings > Personal > Location access > Wi-Fi & mobile network location


I installed:

  • LegacyNetworkLocation.apk at /system/app
  • µg UnifiedNlp from F-Droid
  • AppleWifi and the GSMLocation Backend from F-Droid

This setup worked for me.

Edit: @paulakreuzer pointed out that my 2nd step is indeed unnecessary.

@fair2fair: I think you can uninstall µg UnifiedNlp from F-Droid, since it’s just the newer version of LegacyNetworkLocation.apk, wich doesn’t work with old Android Versions.
And the AppleWifi Backend - I believe - sends infos to Apple, so it’s not much better than using Google Location Services, or am I wrong?

@sim6: The LocalWifiNlpBackend only works at locations you have allready been at with a fixed GPS right?

I have the LocalWifi Backend and the GSMNetworkLocationProvider Backend and didn’t jet get it to work right.
If I switch GPS on and get a fix OSMand will locate me. If I then switch GPS off the radius around my location dot increases and the dot doesn’t move if I move. Probably because the wifis and cellular networks around are not in any of the databases yet.
I’d really like a backend for MozillaLocationService, because I have allready mapped my whole district with Mozilla Stumbler.

Has anyone tried any other Apps from the μg Project?
They say: “The μg Project aims to provide a free, fully compatible replacement of the often used proprietary GAPPS package by Google.” so there is e.g. an app that “Mocks the existence of the Google Play Store”.
I think it would be really cool if theese Apps can make Apps work that need Google Services installed by faking the existance of Google Services and maybe redirecting Apps that need Google Maps to OSMand.


Today is my lucky day! :smiley: MozillaNlpBackend is here! :smiley: :smiley:


@paulakreuzer If you prefer an offline solution for Mozilla Location Service, you can have a look at LocalGSMnlpbackend available from F-Droid. The previous version of this app required Android 4.3 but I contacted the developer and it works now on the fairphone. You can create a database using OpenCellid or MLS data either directly on your phone (takes a while) or on your pc.


are you talking about version 0.5.10? I just tried to install it but it didn’t work and F-Droid does state that it is incompatible with my device because it needs android 4.3+
or did you get another version elswhere?

btw. how did you contact him? I’d love to send mar-v-in some fanmail. :wink: currently I’m the only one donating to him on gratipay.

I’m talking about version 0.5.11, see https://f-droid.org/repository/browse/?fdfilter=Gsm&fdid=org.fitchfamily.android.gsmlocation Maybe your F-Droid app hasn’t updated yet to the latest version. Concerning the contact, I opened an issue on the github page of the project.


thanks, I’m dowmloading the database right now :smile:

Hi, I have a GAPPS-free FP1U running Kola Nut 1.8.
I would like to get location work without GPS fix and I saw this instructions in that page: https://github.com/microg/android_packages_apps_UnifiedNlp/blob/HEAD/README.md :

Android 2.3 - 4.3 (Gingerbread / Honeycomb / Ice Cream Sandwich / Jelly Bean)
Older Android versions are no longer officially supported. However I
still provide a legacy build, that should be compatible with those
It is required to have a rooted system to install on Jelly Bean and
Download LegacyNetworkLocation.apk
Mount /system read-write (from your PC, call adb root && adb remount)Copy LegacyNetworkLocation.apk to /system/app (from ypur PC, call adb push LegacyNetworkLocation.apk /system/priv-app/NetworkLocation.apk)Reboot (from you PC, call adb reboot) and continue at Usage

I activate USB debug, I connect my phone, and I write “adb root && adb remount” in a terminal on my ubuntu PC, but I get this message: “adbd cannot run as root in production builds”

How did you guys manage to install the LegacyNetworkLocation.apk ?


here i downloaded and installed LegacyNetworkLocation.apk (directly on the phone) and with /system/app mover (needs superuser access and busybox) I made it a system app. then you only need one or more backends and you are good to go.

1 Like

Thanks a lot, I managed to install it :smile:
One more question: is there some good reason not to install all backends or not install some of them ?
I would be tempted to install all of them in order to maximize location possibilities, but I wonder if there would be some problem, or conflict, or high battery usage, or whatever.

1 Like

just yesterday i asked pretty much the same question on unifiednlp’s github page. the answer i got was that one backend for each type of data is enough - so one for wifi and one for cellular towers or one for both - and using more means either more space needed on the phone - if the data is saved locally - or more mobile internet usage - if an online database is used, like with the ichnea and the apple backend.
on the other hand if you ever end up in a region that is not discovered by one database using another one additionally ciuld be beneficial.

1 Like

Well, I don’t know if I made a mistake during installation or what, but I noticed when using LocalWifiNlpBackend an enormous battery drain even in standby (about 30% per hour while normally I have a 10-15% per hour battery consumption).
As I also didn’t understand yet if I installed everything correctly (because I don’t have any advantage in GPS fix) I uninstalled it and deactivated all the backends.

I have no idea what you might have done wrong but for me it works perfectly and without battery drain.

1 Like

So the installation steps are those you mentioned in your previous post? Just copy LegacyNetworkLocation.apk (and rendering it a system app) and installing the backends?
I have to try again because the only difference is I also installed UnifiedNlp from F-droid (so I have both NetworkLocation.apk and LegacyNetworkLocation.apk)
I assume you didn’t rename LegacyNetworkLocation.apk to NetworkLocation.apk, am I right?
Thank you! :smile: