Blackbox 中文文档 下载 App

虚拟定位的原理:为什么 GPS 能改而 IP 定位改不了

官方说明的原理一句话

项目中文说明对虚拟定位的机制写得很直白:禁用基站和 Wi-Fi 定位,修改 GPS 定位参数。应用向系统请求位置时,拿到的是引擎伪造的 GPS 数据,而不是真实定位。

三种定位手段,引擎只能管一种

安卓设备的位置来源有三条:

定位方式引擎能否控制原因
GPS 卫星定位可以修改系统层读取 GPS 参数,引擎作为环境构造者可以替换
基站定位被引擎禁用依赖蜂窝网络信号,引擎选择直接禁用这条路
Wi-Fi 定位被引擎禁用依赖周围热点数据库,同样被禁用
IP 网络定位无法控制由服务端根据访问 IP 推断,引擎是客户端,管不到服务端

官方原文还给了自查方法:通过公开的 IP 定位查询网站查看自己当前 IP 对应的定位结果——如果那个结果显示的位置和你设定的虚拟位置不一致,说明目标应用走的是 IP 定位,引擎无能为力。

IP 定位的两个民间对策

官方说明中提到了应对思路(属于网络层操作,与引擎功能无关,列出来仅为信息完整):

  1. 流量走 VPN 伪装出口 IP:服务端看到的 IP 变了,推断的位置随之变化;
  2. 关 Wi-Fi 改用移动网络:Wi-Fi 环境的 IP 定位精度高到街道级,移动网络 IP 通常只能定位到城市级,粗粒度需求下够用。

这两条都属于正常网络使用技巧,是否适用取决于目标应用。

对使用决策的指导意义

功能边界回顾

虚拟定位是 2.2.0 强化的预览版功能,入口与操作见定位入口与地图选点;给不同应用设置不同位置的用法见分应用定位。