免Root按应用伪装位置:用Xposed模块FakeLocation完成Android虚拟定位的完整实操
2026/8/27 4:17:13 网站建设 项目流程

免Root按应用伪装位置:用Xposed模块FakeLocation完成Android虚拟定位的完整实操

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

设置里没碰过"模拟位置"开关,某个App却显示你人在千里之外——这是怎么做到的?答案是Android虚拟定位模块FakeLocation:它不需要Root,不依赖系统"模拟位置"权限,还能按应用单独设置虚拟位置,甚至同时伪造GPS与基站信息。下面从原理讲到实操,三步完成首次配置,再解锁模板与悬浮窗等进阶能力。

FakeLocation主界面就是这张应用清单:手机上装的所有App都在这里,每个应用对应独立的模拟开关,互不干扰。

免Root怎么改位置:Xposed在系统作答之前换了答案卡

先说清楚它和"开发者选项里那个模拟位置开关"的本质区别。

传统方案走的是系统公开的模拟位置通道:App向系统要位置,系统发现模拟开关是开的,返回一个假坐标,同时给这个坐标打上"来自模拟位置"的标记。等于在出口贴公告——假坐标本身没问题,但公告谁都能看,稍微留心的App一读标记就露馅。

Xposed走了另一条路。它是一个运行在系统层的Hook框架,能在目标App进程启动时注入一段代码,把关键函数的"返回环节"接住。FakeLocation正是利用它,在定位相关的系统API被调用时,在系统作答之前先把答案卡换掉:App问"我现在在哪",它拿到的是一份看起来完全正常的定位结果——没有模拟标记,没有异常开关,进程内一切如常。

被接管的定位通道主要有三条:

  • LocationManager:Android系统的标准定位接口,绝大多数App的入口;
  • Google Play services Location API:大量App通过GMS拿位置,模块直接从App侧接管,无需再单独设置GMS进程;
  • 腾讯定位SDK:国内许多App使用它获取位置,同样在源头被替换。

所以它不需要你开任何系统开关,也不需要Root去改系统文件——改的是"答案"本身,而不是"出口的公告板"。前提只有一个:设备上有可用的Xposed环境(Android 4.3及以上)。

一张表对比:三种虚拟定位方式各差在哪

把市面上常见的三条路线放在一起看,取舍就很清楚了:

对比维度系统开发者选项"模拟位置"Root改机工具FakeLocation(Xposed虚拟定位模块)
是否依赖"模拟位置"开关需要,且带模拟标记,易被识别不需要不需要
能否按应用单独设置虚拟位置不支持,全局生效部分工具支持支持,每个App独立开关
基站信息模拟只能模拟GPS视工具而定支持,GPS与基站双模模拟
是否需要Root不需要需要不需要
对系统的影响范围全局定位服务较深,可能改动系统文件仅Hook定位相关接口
定位结果被App识别的难度低,标记一读即现相对较高

它放弃了"改全局"的粗暴路线,换来的是更细的粒度和更少的权限痕迹——这正是它常用于应用测试与隐私保护场景的原因。

🎯 首次配置:3步完成按应用虚拟定位伪装

最短路径如下,每步只做一件事:

  1. 装好可用的Xposed环境,在Xposed管理器中激活FakeLocation模块,然后重启设备——这一步决定了模块能否注入目标进程;
  2. 打开FakeLocation,在应用列表里找到目标App,打开它旁边的模拟开关
  3. 进入该App的设置页,为它选择一个虚拟位置来源并保存

单应用设置页里有两个可自由组合的模块:GPS模拟(纬度、经度,精度到小数点后6位)和基站模拟(Cell type、MCC、MNC、LAC/TAC、CID)。两个同时开启时,App看到的不仅是"卫星说你在哪",还有"蜂窝网络说你在哪个基站下",组合出的定位画像更接近真实设备。

位置来源有三种,按场景任选:

  • 地图选点:在高德、百度或Google地图上直接点选,顶部支持地名搜索;选过的地点会进入"最近"列表,开启"即时更新"后点完即写入,无需返回;
  • 手动输入:手头正好有一组坐标时直接填经纬度;
  • 随机生成:按一下"FEELING LUCKY",模块替你随机挑一个位置,适合快速验证功能是否生效。

地图选点是最直观的方式:搜索、点选、打勾,坐标即刻写入该App的虚拟位置设置。

🕹️ 进阶解锁:模板一键换址、摇杆悬浮窗模拟连续轨迹

基础配置跑通后,这几个功能能让虚拟定位真正好用到日常:

模板管理与一键换址。把常用坐标存成GPS模板或基站模板,之后在"快速填充"菜单里点一下就能整套填入,不用重新填参数;"当前基站信息"还能一键捕获设备真实的基站数据存成模板,伪造的蜂窝信号从此有据可依。

摇杆悬浮窗。在App设置页先点"关联悬浮窗",之后摇杆的方向与力度会实时更新虚拟坐标——模拟步行、驾车这类连续移动轨迹,比反复改坐标自然得多。

更新间隔与GPS状态。位置刷新频率可以调整;GPS状态可自定义,配合目标App的定位逻辑做精细调试。只开GPS模拟时若App提示"正在定位",还可以点设置页或悬浮窗上的"更新"按钮推送一次新位置。

自我隐藏。在模块设置中让特定App看不到FakeLocation本身的存在,降低被反向探测到的概率。

模板与最近记录把换址成本压到最低:存一次,之后点一下模板即可整套切换虚拟位置。

FakeLocation高频问题:Root、不生效、被检测与耗电

Q1:需要Root吗?不需要。模块只要求设备上有可用的Xposed环境(Android 4.3及以上),本身不申请Root权限,也不要求刷第三方系统。

Q2:设置了位置,目标App却没有变化?按顺序排查:①模块是否已在Xposed管理器中激活并重启设备;②该App的模拟开关是否打开;③App若缓存了旧位置,清除其数据再试;④在模块设置中打开Verbose log,复现一次,把日志连同Xposed Installer中的记录对照查看,通常能直接定位卡在哪一环。

Verbose log开关在模块设置的Feedback分组里,排查问题时务必先打开再复现。

Q3:虚拟定位会被App检测到吗?它绕过了系统模拟位置通道,结果上没有模拟标记,比传统方式更难被识别;但任何方案都不存在绝对安全。建议用合理精度、避免高频跳变,别制造"上一秒东京、下一秒巴黎"的轨迹。

Q4:支持哪些Android版本与定位SDK?Android 4.3及以上;除系统LocationManager外,还适配了Google Play services Location API与腾讯定位SDK,并对国内坐标偏移做了修正处理。

Q5:一直开着很耗电吗?资源占用很低。建议只为确实需要的App开开关,不使用时随手关闭,或直接在Xposed中停用整个模块。

🚀 动手环节:从源码编译到验证红点搬家

想从源码开始,流程很短:

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

更完整的版本演进(地图搜索、基站模拟增强、GMS新实现、自我隐藏等)可翻项目内的 README.md 与 CHANGELOG.md。

把虚拟定位用在应用测试、隐私保护这些合法场景里,它就是顺手的小工具;位置是你自己的数据,决定让它被谁看到,权利在你手上。

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

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

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

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

立即咨询