Introduction
UnifiedNlp is a FLOSS (Free/Libre Open Source Software) tool for geolocating android phones without Google's Geolocation service. It allows apps that use Android's coarse or network locating features to geolocate the phone which is usually faster and less battery consuming then GPS. If you use your phone without GAPPS this might become a useful tool for you.
The real location work is done by backends (plug-ins) that can be configured through the UnifiedNlp UI. There is already a number of backends out there that use data from various data sources, some of them working completely offline.
The same backend technique is used for UnifiedNlp's secondary feature: (reverse) geocoding. This allows apps like the android gallery to convert geo-coordinates to an address, resulting in better user experience.
UnifiedNlp is the successor of NOGAPPS NetworkLocation and part of the microG Project.
Installation
UnifiedNlp comes with official support for Android 4.4 (KitKat) and Android 5.0 (Lollipop). Installation on AOSP-based ROMs for this version is easy:
If your system is not AOSP-based but GAPPS-free and the above instructions do not work for you, try placing NetworkLocation.apk directly in /system/priv-app/ and reboot.
If your system has Xposed, you can use this Xposed module together with UnifiedNlp.apk
Android 2.3 (Gingerbread) through Android 4.3 (Jelly Bean) are not officially supported (meaning newer versions of UnifiedNlp are not tested on these platforms). Still a legacy version is published with every release. Android 4.2+ is known to usually work properly, older versions are often not supported by backends and thus can't use UnifiedNlp. Push LegacyNetworkLocation.apk directly to /system/app and reboot to try it out.
Download
Latest stable release: v1.4.0 - Download NetworkLocation.apk - LegacyNetworkLocation.apk - UnifiedNlp.apk
Older versions and pre-release builds can be found on GitHub
Backends
I developed and will support three backends, that you can find on GitHub:AppleWifiNlpBackend, IchnaeaNlpBackend (Mozilla Location Service), OpenWlanMapNlpBackend and NominatimGeocoderBackend
These and backends by other developers are usually released on F-Droid.
If you installed a third-party backend and you're not sure whether the problem is caused by UnifiedNlp or the backend, feel free to write here.
Upcoming/planned features
- Better status information to check whether installation succeeded or not and what steps might be needed
- Backend prioritization and complex rule system
FAQ
Q: It does not work!
A: Make sure you read the installation instructions properly and that locating would be possible using the backends provided. Are you sure you rebooted? Is your system GAPPS free? OK. Now, ask!
Thanks
Big thanks to everyone who continuously supported me doing this, by donating, pull-requests or just feedback. Thanks to backend developers, that made this tool useful. Thanks to Google for leaving a door in Android that makes this possible.
XDA:DevDB Information
microG UnifiedNlp, App for all devices (see above for details)
Contributors
MaR-V-iN
Source Code: https://github.com/microg/android_packages_apps_UnifiedNlp
Version Information
Status: Stable
Current Stable Version: 1.4.0
Stable Release Date: 2015-09-15
Created 2015-01-02
Last Updated 2015-10-04
UnifiedNlp is a FLOSS (Free/Libre Open Source Software) tool for geolocating android phones without Google's Geolocation service. It allows apps that use Android's coarse or network locating features to geolocate the phone which is usually faster and less battery consuming then GPS. If you use your phone without GAPPS this might become a useful tool for you.
The real location work is done by backends (plug-ins) that can be configured through the UnifiedNlp UI. There is already a number of backends out there that use data from various data sources, some of them working completely offline.
The same backend technique is used for UnifiedNlp's secondary feature: (reverse) geocoding. This allows apps like the android gallery to convert geo-coordinates to an address, resulting in better user experience.
UnifiedNlp is the successor of NOGAPPS NetworkLocation and part of the microG Project.
Installation
UnifiedNlp comes with official support for Android 4.4 (KitKat) and Android 5.0 (Lollipop). Installation on AOSP-based ROMs for this version is easy:
- Make sure that no Google geolocation tool is installed (it is usually listed as Google Play Services in Apps)
- Download and install NetworkLocation.apk as a usual app (you may need to enable "Unknown sources" in Settings->Security)
- Reboot
If your system is not AOSP-based but GAPPS-free and the above instructions do not work for you, try placing NetworkLocation.apk directly in /system/priv-app/ and reboot.
If your system has Xposed, you can use this Xposed module together with UnifiedNlp.apk
Android 2.3 (Gingerbread) through Android 4.3 (Jelly Bean) are not officially supported (meaning newer versions of UnifiedNlp are not tested on these platforms). Still a legacy version is published with every release. Android 4.2+ is known to usually work properly, older versions are often not supported by backends and thus can't use UnifiedNlp. Push LegacyNetworkLocation.apk directly to /system/app and reboot to try it out.
Download
Latest stable release: v1.4.0 - Download NetworkLocation.apk - LegacyNetworkLocation.apk - UnifiedNlp.apk
Older versions and pre-release builds can be found on GitHub
Backends
I developed and will support three backends, that you can find on GitHub:AppleWifiNlpBackend, IchnaeaNlpBackend (Mozilla Location Service), OpenWlanMapNlpBackend and NominatimGeocoderBackend
These and backends by other developers are usually released on F-Droid.
If you installed a third-party backend and you're not sure whether the problem is caused by UnifiedNlp or the backend, feel free to write here.
Upcoming/planned features
- Better status information to check whether installation succeeded or not and what steps might be needed
- Backend prioritization and complex rule system
FAQ
Q: It does not work!
A: Make sure you read the installation instructions properly and that locating would be possible using the backends provided. Are you sure you rebooted? Is your system GAPPS free? OK. Now, ask!
Thanks
Big thanks to everyone who continuously supported me doing this, by donating, pull-requests or just feedback. Thanks to backend developers, that made this tool useful. Thanks to Google for leaving a door in Android that makes this possible.
XDA:DevDB Information
microG UnifiedNlp, App for all devices (see above for details)
Contributors
MaR-V-iN
Source Code: https://github.com/microg/android_packages_apps_UnifiedNlp
Version Information
Status: Stable
Current Stable Version: 1.4.0
Stable Release Date: 2015-09-15
Created 2015-01-02
Last Updated 2015-10-04
Last edited: