microg 中文文档 下载 App

认识 UnifiedNlp:microG 的网络定位框架

它解决的问题

安卓应用要"大致位置"(城市级、街区级)时,默认问的是谷歌的网络定位服务——用周边 WiFi 热点与基站指纹换坐标。没有 GMS 的设备上,这个角色由 microG 内置的 UnifiedNlp 承担:它是一个定位中间件,本身不认识路,把"查坐标"这件事转包给可插拔的后端。

与 GPS 的分工

定位方式精度速度条件
GPS 卫星米级冷启动慢需要开阔天空
网络定位(UnifiedNlp)街区~城市级快需要 WiFi/基站数据与后端
两者融合(融合定位)取长补短快且稳microG 已完整实现

应用请求位置时走的是融合定位接口——GPS 可用时用 GPS,室内或省电场景落到网络定位。UnifiedNlp 只负责其中网络这一半。

前世今生

UnifiedNlp 早年是独立应用(F-Droid 上叫 UnifiedNlp),后来整体并入 microG Services:现在不需要单独安装,设置入口也在 microG 设置页里(UnifiedNlp 设置)。它的"插件化"设计没变——装哪个后端、开不开,全由你决定。

一个重要的版本限制

安卓 7 之后,普通应用权限的网络定位会被系统拦:要让定位工作,要么给系统打对应补丁,要么把 microG 装成系统特权应用(/system/priv-app/ 路径)。多数预装 microG 的 ROM 与华为 -hw 构建已处理妥当;自己动手装的遇到"网络定位不工作",先想到这条限制。详见 定位排障。

装好后第一件事是挑后端,见 配置定位后端。