免Root的Android虚拟定位:FakeLocation按应用伪装位置完整指南
2026/8/27 4:54:05 网站建设 项目流程

免Root的Android虚拟定位:FakeLocation按应用伪装位置完整指南

【免费下载链接】FakeLocationXposed module to mock locations per app.项目地址: https://gitcode.com/gh_mirrors/fak/FakeLocation

为什么用FakeLocation做Android虚拟定位

做App定位功能测试时,你是不是每次都嫌麻烦:一会儿要把设备"搬到"上海,一会儿又要"飞"到广州,来回切换还离不开系统"模拟位置"开关?FakeLocation把这件事变简单了:它是一个基于Xposed框架的Android虚拟定位模块,免Root、不依赖系统模拟位置开关,还能按应用单独设置虚拟位置,每个App各用各的坐标,互不干扰。

先判断适不适合你

动手之前,先核对这4个前提条件,不符合就别往下走了:

  • Xposed环境:设备上已装好可用的Xposed框架(或LSPosed),FakeLocation本身不申请Root权限;
  • 系统版本:Android 4.3及以上;
  • 目标App:要伪装位置的App已安装,且能正常触发定位(地图页、签到页等);
  • 兼容范围:模块Hook了系统定位接口,同时适配Google Play Location API与腾讯定位SDK,使用GMS的应用无需单独配置gms包,直接设置目标App即可。

4条都打勾,就可以进入原理部分了。

原理速览:Xposed如何替换定位结果

打个比方:App是银行柜台的客户,系统定位API是柜员,Xposed就是站在柜台后面的大堂经理。客户问"我现在在哪",大堂经理把柜员递出的单据截下来,把"当前位置"一栏换成你事先填好的经纬度,再递给客户——客户拿到的是一张看起来完全正常的单据,毫无破绽。

FakeLocation就是这么做的:App进程启动时,Xposed向进程注入代码,Hook住LocationManager等定位相关接口,把返回的经纬度替换成你设定的值。因为它根本没走系统"模拟位置"通道,屏幕上不会出现任何模拟提示;针对国内坐标偏移问题,模块还做了修正处理。

三种方案怎么选

Android虚拟定位有三条主流路线,放在一起对比就很清楚了:

对比维度FakeLocation(Xposed定位模块)系统"模拟位置"开关Root改机工具
权限门槛免Root,只需现成的Xposed环境无需额外权限,但必须打开开关需要Root,部分机型拿不到
权限痕迹无系统开关、无模拟提示开关常开,容易被App或系统察觉Root本身就是痕迹,改机深浅因工具而异
设置粒度按应用独立开关,多个虚拟位置并存全局生效,所有App共用一个位置多为全局,少数支持按应用
可模拟的定位类型GPS坐标+基站信息(MCC/MNC、LAC/TAC、CID)基本只有GPS因工具而异
被识别难度相对较高
适用场景应用定位调试、隐私保护、快速验证简单功能测试深度改机

一句话总结:只想"换个位置"又不想留痕迹,Xposed模块这条路线最干净。

首次配置:4步走完虚拟定位教程 🎯

  1. 激活模块:在Xposed管理器中勾选FakeLocation,然后重启设备;
  2. 打开App开关:启动FakeLocation,在应用列表中找到目标App,打开它旁边的模拟开关;
  3. 设置虚拟位置:进入该App的设置页,三种位置来源任选其一:
    • 地图选点:在高德、百度或Google地图上直接点选,支持地名搜索,选过的地点会存入"最近"列表;开启"即时更新"后,点完地图直接写入设置,不用返回应用列表;
    • 手动输入:直接填纬度和经度,小数点后6位,国内坐标偏移已内置修正;
    • 随机生成:点一下FEELING LUCKY按钮随机挑个位置,适合快速验证功能是否生效;
  4. 补充基站信息(可选):目标App若依赖基站定位,把MCC、MNC、LAC/TAC、CID填上并打开基站模块,两个模块可叠加,定位画像更接近真实设备。

应用列表界面,每个应用都有独立的模拟位置开关:

地图选点界面,支持地名搜索与最近列表:

配置完成后回到目标App下拉刷新,通常就能看到"位置"已经搬走了。

进阶用法:模板、轨迹模拟与日志排查

配置跑通后,下面几个场景化的进阶功能会让你用得更顺手。

常切位置:模板与最近列表

把常用坐标存成GPS模板或基站模板,之后一键切换,不用重复填坐标;还能在"当前位置信息"里一键捕获真实基站数据存成模板复用。

模拟移动轨迹:摇杆悬浮窗

在应用设置页点击"关联悬浮窗",摇杆的方向与力度会实时改写虚拟坐标,适合模拟步行、驾车这类连续移动的轨迹。

更新间隔可调位置刷新频率,GPS状态也可以自定义,配合目标App的定位逻辑做更精细的调试。

排查与隐身:日志与自我隐藏

某App不认你的虚拟位置时,先在设置里打开Verbose log,结合Xposed Installer里的日志对照排查;模块还支持"自我隐藏",让指定App看不到FakeLocation本身的存在,降低被反向探测的概率。

排障自查:虚拟定位不生效时按这份清单来 🔍

按顺序逐项打勾,大多数问题到第3步就能解决:

  1. 模块激活:确认Xposed管理器中已勾选模块,且重启过设备;
  2. App开关:确认目标App的模拟开关处于打开状态;
  3. 清缓存:App可能缓存了旧位置,清除该App数据后重试;
  4. 看日志:打开Verbose log复现一次问题,对照Xposed Installer中的日志定位未生效的Hook点。

设置页的Verbose log开关与问题反馈入口:

4步走完仍未解决,可以带着日志到项目提交Issue,历史改动见 CHANGELOG.md,项目整体介绍见 README.md。

现在就试一次:5步完成首次虚拟定位实验 🚀

  1. 克隆项目用Android Studio编译安装,或直接安装已有的Release APK:
git clone https://gitcode.com/gh_mirrors/fak/FakeLocation
  1. 设备上装好兼容的Xposed环境,激活FakeLocation模块并重启;
  2. 打开FakeLocation,选中一个测试App,在地图上点一个位置;
  3. 打开该App的模拟开关,回到测试App里下拉刷新定位;
  4. 看看地图红点是不是已经"搬家"了。

最后提醒一句:请把虚拟定位用在应用测试、隐私保护等合法场景,别用它做违反平台规则或法律法规的事。

【免费下载链接】FakeLocationXposed module to mock locations per app.项目地址: https://gitcode.com/gh_mirrors/fak/FakeLocation

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询