通过UnifiedNlp实现Ingress室内定位

本文旨在帮助各位使用UnifiedNlp实现安卓手机的室内定位。

如果您继续向下阅读,即表示您同意作者对由下述操作所引起的账号被ban、手机爆炸、世界末日等情况不负任何责任。

本文仅针对部分安卓机(苹果貌似也没有这样的烦恼),需要root及xposed框架,目前在LineageOS测试有效,估计其他类原生ROM(如RR、AICP、AEX等)应该也是有效的,其他ROM(MIUI、Flyme、EMUI等)未做测试。

设备的root与xposed框架的安装不在本文的讨论范围之内。

理论上来说网络定位只是辅助定位,利用GSM基站,附近的WIFI信号等进行定位,绝不是作弊。况且在早些的安卓系统(可能是国内ROM)中内置了NetworkLocation.apk进行网络定位,同时UnifiedNlp可以使用Apple的辅助定位,尽管我已经使用了几个月都没有问题,但猩猩的作弊检测算法是未知的,因此不保证不会出现封号的情况!

因此不保证不会出现封号的情况!
因此不保证不会出现封号的情况!
因此不保证不会出现封号的情况!

你必须知道你在做什么,并且USE PROPERLY AT YOUR OWN RISK!

以下正文

之前尝试了LineageOS-microG(https://lineage.microg.org/),原本这只是一个内置了microG的LineageOS,几乎只要有LineageOS的官方支持的机器都会有LineageOS-microG,不是本文的主角,具体不做介绍。

在使用LineageOS-microG的几天,注意到microG里面内置的一个替代google网络定位的UnifiedNlp,其实我一直不知道为什么google的网络定位完全无法使Ingress在室内定位,甚至街道都显示不了。

经过测试,对UnifiedNlp进行简单设置就可以使Ingress实现室内定位。于是顺手(其实挺麻烦的)找到了UnifiedNlp的单独apk,这个UnifiedNlp同时与microG和google的定位冲突,也就是说安装了GApps就不能用。

……这就很尴尬了

但是解决方案是有的,就是利用一个xposed插件XposedUnifiedNlp

总的来说,要做的事情是:

  1. 将UnifiedNlp1.6.8的apk扔进/system/priv-app/(不用安装,放进去就行)

  2. 安装Xposed插件:XposedUnifiedNlp 1.0.4 experimental(直接在xposed模块仓库搜索就有,需要对Xposed框架的某些设置进行修改才能检索到experimental版本)

  3. 安装location backends和address lookup backends,推荐Apple WiFi、Mozilla Location Service。address lookup backends目前只找到Nominatim这一个

  4. 然后重启

  5. 查看UnifiedNlp Settings,7.x可以在应用列表里找到,8.x只能在设置->安全性及位置信息下面找到,如果没有,请检查/system/priv-app/。这里我们可以看到如下图,Unified Settings与Google的位置信息分享、位置记录是并列的,可能也能说明点啥。


    通过UnifiedNlp实现Ingress室内定位_第1张图片
    图片发自App

点进去,点Self Check,最终要达到的应该是与下图一样,全都是勾勾,你也可以根据对应项目的提示进行问题排查。
通过UnifiedNlp实现Ingress室内定位_第2张图片
图片发自App
  1. 第一个勾勾:点击并赋予位置信息权限;第二个勾勾和第三个勾勾:如果正确放在/system/priv-app/下面并且Xposed插件正常(Xposed插件也需要给位置信息权限),Xposed插件可以在框架的模块列表里点开,点击Check Settings,应有如下图


    通过UnifiedNlp实现Ingress室内定位_第3张图片
    图片发自App
  1. 返回上一级进Configure location backends,勾选Apple和Mozilla Location Service,千万不要勾选自带的Dummy Backend!!!!这个是个假定位,会让你飞到地球另一侧。进Configure address lookup backends,勾就完了。位置信息的模式不能设置为第一个(仅GPS)。

大概这样就差不多了,基本上开Ingress是瞬间定位的,并且比较准确。但室外主要还是依靠GPS。

你可以在https://f-droid.org/中搜索unified找到其他的Backend,但上面提到的方案是用起来最准确、快速的,也可以参考该项目的GitHub页面来获得帮助。

你可能感兴趣的:(通过UnifiedNlp实现Ingress室内定位)