安卓虚拟定位完整指南:用 FakeLocation 为每个 App 单独模拟位置
【免费下载链接】FakeLocationXposed module to mock locations per app.项目地址: https://gitcode.com/gh_mirrors/fak/FakeLocation
你有没有遇到过这样的需求:想让某个 App 以为你在另一个城市,而导航和日常工具又必须保持真实位置?FakeLocation 就是一个免费的安卓虚拟定位 Xposed 模块,它按应用逐个设置模拟位置,全程不需要打开系统的"模拟位置"权限。
🎯 项目定位:它是做什么的,凭什么好用
看完这一节,你能用一句话说清 FakeLocation 适合什么、不适合什么,并知道它和系统自带的模拟位置有什么区别。
FakeLocation 是一个 Xposed 模块,解决的核心问题是:按 App 粒度给不同应用喂不同的地理位置,其余应用继续拿到真实位置。
- 按应用独立生效:微信可以"在巴黎",地图导航依然知道你在北京,互不干扰
- 无需模拟位置权限:不用打开开发者选项里的"模拟位置"开关,也就不怕被系统级权限暴露
- GPS 与基站双重模拟:除了经纬度,还能同时伪造 MCC、MNC、LAC/TAC、CID 基站参数,信息更完整
- 地图选点带搜索:内置高德地图,支持搜地点(比如直接搜"故宫博物院")、历史记录、随机位置
👥 适用人群:你能用它解决什么问题
看完这一节,你可以判断自己属于哪一类用户,以及这个模块值不值得装。
- 普通用户:给社交、购物类应用设置一个固定的虚拟位置,减少真实行踪被应用获取的机会
- 开发者:在自己 App 的不同城市、边界坐标下做定位逻辑测试,不用真的出差
- 测试人员:用模板批量保存测试点,快速切换 GPS 与基站组合,验证应用的容错表现
- 区域活动玩家:把位置临时切到活动区域,参与本地活动后切回来
📦 上手前准备:装好它需要哪些条件
看完这一节,你可以对照检查自己的设备是否满足全部前提,避免装完发现不能用。
- 设备已安装 Xposed 框架(或 LSPosed 等衍生框架):Xposed 模块必须依赖框架运行。确认方式:打开 Xposed 管理器,首页显示"Xposed 框架:已安装(版本号)"
- 已安装 FakeLocation 应用本身:从发行页下载 APK 并安装。确认方式:桌面或应用列表里能看到"模拟位置"图标
- 已在 Xposed 管理器中勾选 FakeLocation 并重启过设备:不勾选、不重启,模块不会生效。确认方式:打开 FakeLocation 首页,没有出现"模块尚未启用"的弹窗
- 已授予运行所需权限:写入外部存储(存设置和崩溃日志)、读取手机状态(取基站信息)、获取粗略位置(地图选点),如需悬浮窗还需悬浮窗权限。确认方式:首次启动时应用会逐个申请,也可在系统设置"应用权限"里逐一查看
🛠️ 实操流程:5 步完成第一次虚拟定位
看完这一节,你可以独立完成"选 App、开模拟、设坐标"的完整配置,并掌握模板与基站模拟等进阶功能。
第一步:确认模块已启用,认识主界面
- 打开 FakeLocation,首页会列出手机上所有可设置模拟位置的应用
- 列表里红色字体的条目表示该应用已启用模拟,黑色为未启用
- 点右上角齿轮进入设置,点搜索按钮可以按应用名或包名快速筛选
- 如果首页弹出"模块尚未启用",回到 Xposed 管理器勾选模块并重启
提示:只对确实需要的应用开启模拟,其余保持真实定位,既省资源也减少误伤。
第二步:选中目标应用,打开 GPS 模拟开关
- 在主界面点击要设置的应用,进入它的"位置设置"页
- 打开使用 GPS 模拟开关,页面上半部分即为 GPS 配置区
- 页面会提示"位置信息可能被缓存",所以首次设置后建议等几秒或重启目标应用再验证
提示:这个页面就是全部功能的核心,后面所有配置(模板、基站、悬浮窗)都围绕它展开。
第三步:设置虚拟位置——地图搜索或手动输入坐标
- 方式一(推荐新手):点"选择"进入地图页,直接在地图上点选,或搜索"故宫博物院"这类地点名,选中后点右下角确认
- 方式二(精确场景):在纬度、经度输入框直接填数字,纬度范围 -90 到 90,经度范围 -180 到 180,比如北京某点可填 39.908761 / 116.397736
- 不知道去哪拿坐标?页面上有"How to get a coordinate"链接,可跳百度地图或 Google 地图查询
- 完全没想法时,点FEELING LUCKY按钮,它会随机生成一个坐标
技巧:地图上还能切换地图源、查看历史选点、"手气不错"随机定位,频繁换点时比手输方便得多。
第四步:用模板和"最近"管理常用位置
- 在位置设置页打开快速填充面板,里面分"模板"和"最近"两组
- GPS 模板:把常用坐标(家、公司、测试点)存成模板,一键填入
- 基站模板:把常用基站参数存成模板,和 GPS 模板配合使用
- 最近:自动记录你最近用过的地点,无需手动保存
提示:开启"即时更新"后,地图点选、历史选点会直接写入设置,不用退回应用列表再保存。
第五步:进阶配置——基站模拟、悬浮窗与日志
- 打开使用基站信息模拟开关,填入MCC、MNC、LAC/TAC、CID四个参数(例如 460 / 0 / 5009 / 1285),页面上的 OpenCellID、Cellocation 链接可以帮你查真实基站数据
- 想模拟"移动中"的效果:在应用设置里点关联悬浮窗,然后用摇杆悬浮窗按方向、力度实时更新位置,适合测试轨迹类功能
- 目标应用走 Google 服务定位时,无需再单独设置 com.google.android.gms,直接配置目标应用即可
- 个别应用(如微信)启用后打不开,到设置里打开兼容模式
- 在设置页打开Verbose log(详细日志),配合 Xposed 管理器的日志,可以定位"为什么没生效"
提示:提交问题前务必先打开详细日志并复现一次问题,这是排查模块问题最快的路径。
🍱 场景配方:三个典型用法直接抄
看完这一节,你可以按自己的用途直接套用对应配方,不用再纠结参数怎么填。
场景一:日常隐私保护
- 目标应用:微信、支付宝、美团等会频繁取位置的应用
- 关键配置:GPS 模拟开启,位置设在常用但非实时的地点(如小区、商圈),只开这一个开关即可
- 注意事项:遵循最小化原则,别给所有应用开模拟;导航类应用保持真实定位,避免出行出事故
场景二:开发定位测试
- 目标应用:你自己开发或正在测试的应用
- 关键配置:建 3~5 个 GPS 模板覆盖不同城市/边界坐标,同时准备一套基站模板做双通道测试
- 注意事项:打开 Verbose log 记录定位请求;如果应用走 Google 服务或腾讯定位 SDK,确认配置后重启应用再验证
场景三:区域活动参与
- 目标应用:有本地活动、签到机制的 App
- 关键配置:GPS 模拟 + 基站信息模拟同时开启,坐标选活动区域中心点,基站参数与目标城市一致
- 注意事项:活动期间不要频繁切换位置,快速跳变是应用识别模拟位置的最明显特征
🔍 原理与源码速览:它是怎么做到的
看完这一节,你能理解"按 App 生效"背后的技术思路,并知道去仓库哪个目录看实现。
FakeLocation 以 Xposed 模块形式运行:它在目标应用进程启动时注入代码,拦截系统定位相关的接口调用(如系统的 LocationManager、Google 服务定位 API、腾讯定位 SDK),再按该应用的包名查表,把返回值替换成你配置的虚拟坐标和基站参数。因为拦截发生在应用拿到数据之前,所以不需要"模拟位置"权限,其他未配置的应用完全不受影响。
想深入看代码,建议从这两个真实路径入手:
- mapsearchbar/src/main/java/com/rong/library/widget/mapsearchbar/:地图搜索选点组件的核心实现,MapSearchBar、SearchQueryThread 等类都在这里
- app/src/main/res/values-zh-rCN/strings.xml:简体中文界面文案,通读一遍就能完整认识所有界面元素和开关的含义
另外,CHANGELOG.md 记录了每个版本的修复内容,遇到"某功能不生效"时先查一下是否是已知问题、后续版本已修复。
⚠️ 避坑手册:8 个高频问题对照表
看完这一节,遇到绝大多数"没生效"的情况,你可以直接对号入座找到解法。
| 现象 | 可能原因 | 解决办法 |
|---|---|---|
| 应用仍显示真实位置,或一直"定位中" | 应用缓存了旧位置,或 GPS 状态未推送 | 等几秒后重启目标应用;或在应用设置页点"更新"手动推送一次 |
| 首页反复提示"模块尚未启用" | Xposed 管理器中未勾选模块,或勾选后没重启 | 在 Xposed 管理器勾选 FakeLocation,然后重启设备 |
| 走 Google 服务定位的应用不生效 | 以为还要单独配置 com.google.android.gms | 新版已不需要,直接在目标应用自己的设置页配置即可 |
| 微信(或其他应用)启用后无法打开 | 模块与该应用的兼容性问题 | 在设置中打开兼容模式 |
| 地图上选了点,回到设置页却是旧坐标 | 未开启"即时更新" | 开启即时更新,或退回应用列表后再进入以触发保存 |
| 填入坐标后位置有偏移 | 坐标系不一致(WGS-84 与 GCJ-02 在国内有偏差) | 确认所用地图的坐标系;新版已内置坐标偏移修正 |
| 悬浮窗摇杆不动、位置不更新 | 悬浮窗没有关联应用 | 到对应应用设置页点"关联悬浮窗"后再操作摇杆 |
| 大版本升级后旧设置失效 | 新版启用了新的设置文件与格式 | 官方在更新日志中有明确提示,重新填入关键配置即可 |
✅ 收尾自查与合规提醒
按下面清单过一遍,就能确认虚拟定位真正生效且长期稳定。
✅ 模块已在 Xposed 管理器启用并重启过,首页无"未启用"提示 ✅ 目标应用在主界面列表中显示为红色(已启用模拟) ✅ 目标应用内实际显示的是你设置的虚拟位置,而非真实位置 ✅ 导航等需要真实位置的应用未开启模拟,工作正常 ✅ 需要排查问题时,Verbose log 已打开且能拿到日志
最后提醒:虚拟定位属于灰色能力工具,请务必遵守当地法律法规和各平台的服务条款,不要用于欺骗、作弊或损害他人利益。位置数据本身也涉及隐私,设置虚拟位置的同时,也请留意目标应用实际获取到的信息范围。用在对的地方,它才会是省心而不是惹麻烦的工具。
【免费下载链接】FakeLocationXposed module to mock locations per app.项目地址: https://gitcode.com/gh_mirrors/fak/FakeLocation
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考