Local NLP Backend

Local NLP Backend

Location provider for UnifiedNlp and microG using only local data.

Navigation System

Screenshots

Screenshot of Local NLP Backend

Description

The backend passively monitors the GPS and scans for nearby WiFis and mobile cells/towers. From this a database of emitter locations is created.
When UnifiedNlp / microG request a location from <i>Local NLP Backend</i>, a scan for nearby emitter is initiated and a location determined based on the scan results.

<i>Local NLP Backend</i> is a fork of the Déjà Vu NLP Backend with some improvements and a crude UI for configuration and importing / exporting data, including cell lists from MLS or OpenCelliD.

This backend uses no network data. All data acquired by the phone stays on the phone, though it may be exported manually.

<b>How to use:</b>

<i>Local NLP Backend</i> can be used like Déjà Vu: just enable the backend and let it build up the database by frequently having GPS enabled, e.g. using a map app.
If you have a Déjà Vu database (you'll need root privileged to extract it), it can be imported in Local NLP Backend. Further import options are databases exported by Local NLP Backend, and cell csv files from MLS or OpenCelliD.
Note that the local database needs to be filled, either using GPS or by importing data, before Local NLP Backend can provide locations!

In order to speed up building the database, LocalNLP has an optional active mode that enabled GPS when there is no known emitter nearby (low setting) or when any unknown emitter is found (aggressive setting).

Note that microG has stopped supporting UnifiedNlp backends with 0.2.28. If you still want to use this backend (or others), you need to use older microG versions. This can only be recommended if you use microG <b>for location only</b>.
Personally I use <a href='https://github.com/microg/GmsCore/releases/tag/v0.2.10.19420'>0.2.10</a>, as with later versions location backends stop providing locations after some time.

Versions

Version Date Size Requires Android Download
1.2.15 current
61c52b9502b959fb…
2025-08-02 1.1 MB API 18
1.2.14
01f7b36b683989d9…
2025-01-24 1.0 MB API 18
1.2.13
43c892e61864a1ac…
2025-01-02 1.0 MB API 18

Permissions

What the app asks the system for. Android only grants sensitive access after you confirm it.

  • Wi-Fi stateRead information about the Wi-Fi connection.
  • Change Wi-FiTurn Wi-Fi on and off or switch networks.
  • Approximate locationDetermine the location via the network.
  • Precise locationDetermine the location via GPS.
  • Location in backgroundDetermine the location while the app is not open.
  • Foreground serviceKeep running in the background, visible in the status bar.
  • localbackend.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

Comments