Fork of the MicroG UnifiedNlp repository with a working standalone app implementation
Go to file
mar-v-in 8ff926120c Major cleanup, Add support for Geocoder
Using spaces for indentation from now on
Add support for forced locations (debug)
2014-12-25 12:49:33 +01:00
api Major cleanup, Add support for Geocoder 2014-12-25 12:49:33 +01:00
res plugins are called backends 2014-03-07 10:06:03 +01:00
sample Backends should require ACCESS_COARSE_LOCATION permission 2014-03-11 19:51:23 +01:00
src/org/microg/nlp Major cleanup, Add support for Geocoder 2014-12-25 12:49:33 +01:00
.gitignore Add missing files 2014-03-10 14:05:56 +01:00
Android.mk Major cleanup, Add support for Geocoder 2014-12-25 12:49:33 +01:00
AndroidManifest.xml Major cleanup, Add support for Geocoder 2014-12-25 12:49:33 +01:00
proguard.flags Add missing files 2014-03-10 14:05:56 +01:00
README.md Add link to personal WiFi backend. 2014-12-15 09:07:05 -08:00

UnifiedNlp

The next generation NetworkLocationProvider, based on plugins

Installation

Release builds may be found on the release page. Installation requires a rooted system.

Android 4.1 - 4.3 (Jelly Bean)

Download LegacyNetworkLocation.apk, copy it to /system/app/NetworkLocation.apk and reboot. The following shell commands will do the job:

adb root && adb remount
adb push path/to/LegacyNetworkLocation.apk /system/app/NetworkLocation.apk
adb reboot

Android 4.4 (KitKat)

Download NetworkLocation.apk, copy it to /system/priv-app/NetworkLocation.apk and reboot. The following shell commands will do the job:

adb root && adb remount
adb push path/to/NetworkLocation.apk /system/priv-app/NetworkLocation.apk
adb reboot

Usage

UnifiedNlp as it does not provide any location provider features, but acts as a middleware for multiple backends.

Here is an open list of backends known to me:

  • AppleWifiNlpBackend - backend that uses Apple's service to resolve wifi locations
  • OpenWlanMapNlpBackend - backend that uses OpenWlanMap.org to resolve user location.
  • LocalGSMLocationProvider - Local opencellid based location provider backend
  • LocalGSMBackend - Local location provider for gsm cells with separate database file (lacells.db)
  • PersonalWifiBackend - Local location provider for WiFi APs using on-phone generated database.
  • (...) Create issue or pull request to extend this list :)

As part of a custom ROM

UnifiedNlp can be build as part of Android when building an Android ROM from source.

Add the repo to your (local) manifest.xml and extend the PRODUCT_PACKAGES variable with NetworkLocation for KitKat and LegacyNetworkLocation for Jelly Bean.

Backend-development

Take a look at the API documentation in /api/README.md. You might also be interested in the sample backends in /sample/

Building

To be build with Android Build System using make UnifiedNlp, make LegacyNetworkLocation or make NetworkLocation

Attribution

Some components: Copyright (C) 2013 The Android Open Source Project

License

Copyright 2014 μg Project Team

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.