Xiaomi Tag · Find Hub 修复(LSPosed)

这是一个针对国行小米手机的实验性 LSPosed 模块,用来恢复 Google Play 服务中的 Fast Pair / Find Hub(查找中心)配对、云端位置更新和网页指令,并修正 Find Hub 在中国大陆显示 Xiaomi Tag 时的地图坐标偏移。

本项目已经在以下环境中完整跑通:手机发现 Xiaomi Tag、弹出配对页面、完成连接、网页位置持续更新,以及网页端让 Tag 响铃。

已验证环境

  • 手机:Redmi K80 Pro(24122RKC7C)
  • 系统:国行 HyperOS OS2.0.15.0.VOMCNXM,Android 15
  • Google Play 服务:26.26.34 (260400-945364269)、26.36.35 (260400-991383798)
  • Tag:国际版 Xiaomi Tag,Fast Pair model ID 15D23E
  • Root + LSPosed

其他手机、系统版本、Google Play 服务版本或 Tag 型号不保证可用。

Important

当前版本只适用于国际版 Xiaomi Tag(Fast Pair model ID 15D23E)。 不适用于国行版 Xiaomi Tag,请勿在国行版 Tag 上使用。

下载与安装

从 Xposed Modules Repo Releases 下载正式 APK。项目开发与固定签名构建源位于 leowood2000/xiaomi-tag-find-hub-lsposed。 然后:

  1. 安装 APK。
  2. 在 LSPosed 中启用本模块。
  3. 在 LSPosed 中勾选以下作用域:
    • Google Play 服务(com.google.android.gms),用于 Fast Pair / Find Hub 配对修复。
    • Find Hub(com.google.android.apps.adm),用于地图坐标修正。
  4. 重启手机。
  5. 让 Tag 重新进入配对模式;确认听到两声后,将它靠近手机。
  6. 按照 Google Fast Pair / Find Hub 页面完成连接。

如果升级 APK 时提示签名不一致,请先卸载旧版模块再安装新版,然后重新在 LSPosed 中启用并重启。

GMS 升级与兼容提醒

打开桌面的“Xiaomi Tag · Find Hub 修复”,可查看当前 GMS 完整版本、 版本代码和是否已有适配。Android 13 及以上请点击“开启未知版本通知” 并允许通知;以后 GMS 更新为未知构建时,每个构建只提醒一次。

模块按实际加载 APK 的完整版本名及版本代码选择映射。当前白名单为 26.26.34 (260400-945364269) / 262634035、 26.36.35 (260400-991383798) / 263635035、 26.37.37 (260400-994713346) / 263737035 和 26.40.32 (260400-995630914) / 264032035。未知构建会停止安装 GMS 配对、自定位和云端设置等混淆 Hook,避免误 Hook;Find Hub 地图 修正独立运行,但其自身仍有应用版本兼容范围。你实测已配对的 Tag 在 GMS 未列入适配时仍可从网页响铃;这个状态页只显示模块是否认识该构建, 不代表已配对 Tag 的网页响铃会随之失效。提示“已有适配”表示版本 在白名单内,并不代替 LSPosed 启用状态或实际运行验证。

必须打开的内部开关

国行环境中的 Google Play 服务会通过内部 Phenotype 配置关闭 Find Hub 的关键路径。本模块只在相关调用点打开以下开关:

GMS 内部开关 GMS 26.26.34 对应方法 关闭时的表现
EnableFindMyDeviceModule__enable_fast_pair_accessories jwbd.g() SpotFastPair.API 返回 API_UNAVAILABLE / status 17,无法连接 Find Hub 服务
enable_fast_pair_spot_integration jyxk.K() 扫描阶段返回 DEVICE_NOT_SUPPORTED,或定位 Tag 的最终连接页面失败
EnableFindMyDeviceModule__enable_self_location_reporting jwbd.j() 开启“储存最新的位置信息”时失败,并出现 Self location reporting is disabled
EnableFindMyDeviceModule__enable_spot_client_actions_handler jwbd.k() 网页端签名指令到达手机后不进入 SPOT 指令处理器
Finder use-case 总门控 ccnl.a() 网页端响铃指令在 GCM 接收阶段被丢弃

GMS 26.36.35 的对应入口依次为 jsmh.e()、jvlk.N()、 jsmh.h()、jsmh.i() 和 cido.a();国际版 Tag 资格处理器为 dzkw.e(dzhx)。模块自动选择已适配的映射。

这些是 Google Play 服务内部的服务端/Phenotype 开关,不是 Android 的普通系统属性,因此用 adb shell setprop 修改手机型号或 fingerprint 并不能直接打开它们。

云端位置更新修复

部分国行环境在配对时可以向网页写入一次正确位置,但之后只更新手机 Find Hub 应用中的本地位置,网页端时间和位置不再变化。实机确认这种 情况下 Tag、Owner Key、sighting 生成和网络请求均正常,缺失的是账号侧 Find Hub 网络设置。

模块启动后会通过 Google Play 服务自带的 Spot.API 读取真实账号状态。 只有当 Find My Device / Find Hub 网络尚未完整开启时,才提交与 Google 设置页相同的“所有位置”(networkMode=2)请求;已经开启时只读取, 不会重复改写。模块不强制缩短 Google 原生上传周期,也不伪造位置或修改 上传数据。

主 GMS 进程启动时还会通过 Google 自带的 DeviceSyncService 刷新一次 当前账号拥有的设备/EID 缓存,供网页端签名响铃指令查找 Tag 使用。网页 响铃仍依赖 Tag 当时处于可被 BLE 扫描的广播窗口;偶发约 20 秒超时后 再次尝试即可,本模块不延长 Google 下发的扫描时限。

该操作会为当前 Google 账号开启 Find Hub 网络和最后位置保存。安装即 表示同意这一行为;若不希望使用云端位置网络,请停用模块后在 Google 系统设置中关闭相应功能。

模块还做了什么

除了打开上面的三个开关,模块还会:

  • 仅对 Fast Pair model ID 15D23E,把定位 Tag 处理器 drhl.e(dreq) 返回的 DEVICE_NOT_SUPPORTED 改为 SUCCESS。
  • 阻止 Google Play 服务在配对过程中禁用以下组件:
    • HalfSheetActivity
    • FastPairSliceProvider
    • DiscoveryService
    • DevicesListActivity
  • 仅保留必要的状态日志,并自动隐藏扫描到的蓝牙 MAC 地址。

InitialPairingDeviceChecker 并不是本次 DEVICE_NOT_SUPPORTED 的根源。在已验证的 GMS 版本里,它负责扫描已经通过初步资格判断后的缓存设备/地址检查;真正需要处理的是 locator-tag 路径和上述三个内部开关。

查看日志

Windows PowerShell:

adb logcat -c
adb logcat -v time | Select-String GmsFastPairDiag

也可以使用:

adb logcat -s LSPosedFramework | findstr GmsFastPairDiag

日志中的关键内容包括:

  • enable_fast_pair_accessories
  • enable_fast_pair_spot_integration
  • enable_self_location_reporting
  • bypass drhl#e DEVICE_NOT_SUPPORTED -> SUCCESS
  • account Find Hub settings ready=true networkMode=2
  • 被 GMS 禁用但由模块保留的 Fast Pair 组件

地图修正日志使用独立标签:

adb logcat -c
adb shell am force-stop com.google.android.apps.adm
adb shell monkey -p com.google.android.apps.adm 1
adb logcat -v time | Select-String FindHubMapFix

当前版本在 Find Hub 的地图 UI 边界对 Marker、相机聚焦和蓝色本机 位置层使用一致的坐标。该 Hook 不修改底层 Android Location 对象、 GMS 定位、网络请求或云端保存的数据。

坐标处理同时考虑位置:

位置 / 图层 默认矢量图 地形图 卫星 / 混合卫星图
中国大陆 完整 WGS-84 → GCJ-02 非线性转换 完整 WGS-84 → GCJ-02 非线性转换 完整 WGS-84 → GCJ-02 非线性转换
中国大陆以外 保持 WGS-84 保持 WGS-84 保持 WGS-84

中国大陆判断使用边界多边形而不是简单经纬度矩形,并显式排除香港、 澳门和台湾。已回归东京、首尔、河内、曼谷、新加坡、伦敦、纽约和 悉尼等境外坐标,Marker 与蓝色本机位置层均不会触发转换。因此正常 出国使用不会被本模块附加坐标偏移;人在国外查看留在中国大陆的设备 时,只转换位于大陆的设备坐标,境外本机位置和境外设备坐标保持 WGS-84。默认、地形、卫星和混合卫星图层均遵守同一地区边界保护。

编译

需要 JDK 17、Android SDK,以及 Gradle 8.9:

gradle :app:assembleDebug

GitHub Actions 也会构建 APK,并将其作为 workflow artifact 上传。

兼容性与风险

  • 本模块已适配 Google Play 服务 26.26.34、26.36.35、26.37.37 和 26.40.32 的指定构建。其他版本更新混淆名称后仍可能需要重新适配;布尔门控会校验方法签名,各项 Hook 独立捕获异常。
  • 地图修正已适配 Find Hub 3.1.636-1(hfo#aN)和 3.1.664-3(hwi#aM);Find Hub 后续更新混淆名称时仍需重新确认调用点。
  • 大陆边界为简化多边形;紧邻陆地国境线的少量坐标理论上可能被误判,普通境外城市和常规旅行地点不受影响。
  • 目前只支持国际版 Xiaomi Tag(model ID 15D23E),不适用于国行版 Xiaomi Tag;其他 tracker 也不在支持范围内。
  • 开启 self-location reporting 后,Find Hub 会按照 Google 的产品机制保存或上报设备的最后位置。请只在理解该功能并接受其隐私影响时使用。
  • Root、LSPosed、修改 Google Play 服务行为均有风险。本项目仅用于研究与个人测试,不保证适用于所有设备,也不保证通过任何完整性检查。

版本

v0.7.0 是首个完成全流程验证的版本,包含三个 Find Hub 开关、定位 Tag 资格修复以及 Fast Pair 组件保护。

v0.8.0 增加 Find Hub 应用作用域和只读地图坐标诊断,为后续仅针对中国大陆 Tag 标点的 WGS-84 → GCJ-02 修正定位调用点。

v0.9.0 将已确认的标签 Marker/相机 UI 管线接入完整 WGS-84 → GCJ-02 算法,并增加境外保护和重复转换保护。

v0.9.1 同步修正 Find Hub 地图内置的蓝色“本机位置”层,并用中国大陆边界多边形替代会误伤邻国的粗矩形判断。

v0.9.2 增加地图类型感知:默认/地形矢量图使用 GCJ-02, 卫星/混合卫星图恢复并使用 WGS-84,切换图层时不会累计转换。

v0.9.3 将仓库、LSPosed 模块和 APK 统一命名为 Xiaomi Tag · Find Hub 修复。内部包名仍保留 com.leowood.gmsfastpairdiagnostics,确保旧版本可以直接覆盖升级, 无需重新配置 LSPosed 作用域。

v0.9.4 适配 Find Hub 3.1.664-3 的设备 Marker 和相机聚焦调用点, 并根据实机卫星底图验证,在中国大陆对所有地图图层统一使用 GCJ-02, 同时保留旧版兼容。

v0.9.5 修复点击地图准星归中设备时,镜头仍使用原始 WGS-84 坐标而 与已经修正的设备标记点错位的问题。归中修正只匹配当前已经识别到的设备 坐标,不改变用户手动拖动后的任意地图中心。

v0.9.6 修复“分享对象”页面的本机位置准星:蓝点首次归中以及后续 GPS 自动跟随更新均使用一致的坐标,不会在点击后再次被原始坐标拉偏。 持续更新修正仅在 Find Hub 明确处于 USER_LOCATION 自动跟随状态时 启用;手动拖图、设备/Tag 相机和中国大陆以外的坐标保持原有行为。

v0.9.7 修复配对后只有首次位置写入网页、后续网页位置不再更新的问题: 通过 GMS 自带的 Spot.API 条件式同步账号侧 Find Hub 网络设置。同时 恢复网页端签名响铃指令所需的 GCM / SPOT 门控,并在主 GMS 进程启动时 通过 Google 自带服务刷新一次拥有设备缓存;不再包含测试阶段使用的强制 快速上传、Owner 响应或位置流水线诊断 Hook。

v0.9.8 适配 Google Play 服务 26.36.35,更新 Fast Pair、国际版 Tag 资格处理器、网页指令门控、账号设置接口与拥有设备缓存同步映射,并保留 26.26.34 兼容。布尔门控仅 Hook 精确的无参数静态 boolean 方法,各项 修复独立捕获异常,避免单个过期混淆入口中断后续配对修复。已在实机验证 新国际版 Xiaomi Tag 配对弹窗恢复并完成配对。

v0.9.9 增加完整 GMS 构建识别、未知构建保护、兼容状态页面和按构建 去重的通知提醒。未知版本不再自动套用旧混淆映射。

v0.9.10 增加 Google Play 服务 26.37.37 (260400-994713346) / 263737035 的精确映射,并保留两个旧构建支持。新版入口为 jtzg.f()(配件)、jwys.N()(SPOT 集成)、jtzg.i()(自定位)、 jtzg.j()(网页指令)、ciza.a()(Finder)、ealy.e(eaiz)(Tag 资格) 以及 chpu / chpr / chps(账号设置)。地图算法未变。 已配对 Tag 的网页响铃实测不受模块是否适配当前 GMS 构建影响。

v0.9.11 修正兼容状态页面:显示模块自身版本、当前 GMS 完整构建、 所有支持构建及版本代码。列表直接从实际适配表生成,避免文案与白名单 不同步;页面支持滚动,并明确“已有映射”不等于模块已启用或功能全部 验证。本次未改变 GMS Hook 或地图算法。

v0.9.12 增加 26.40.32 (260400-995630914) / 264032035 的精确适配, 保留三个旧构建和未知版本保护。反编译确认入口为 jyfd.f()(配件)、 jyfd.i()(自定位)、jyfd.j()(网页指令)、ckjj.a()(Finder)、 kbfk.O()(SPOT 集成)、ecvv.e(ecsn)(Tag 资格)以及 cjac / cizz / cjaa(账号设置)。地图算法未变。

Releases

11/7/2026, 2:47:59 AM

适配 Google Play 服务 26.43.30,改善国行手机重启后的设备发现。

  • 新增精确构建 26.43.30 (260400-1006944126),版本代码 264330035;保留此前已支持的版本及未知构建提醒。
  • 在 Google Play 服务进程内拦截 cn.google.services 系统特征查询,缓解 Nearby Discovery 因国行设备类型判断禁用配对组件的问题;不修改系统特征声明。此拦截可能影响 GMS 内其他功能,尚未全面验证。
  • 保留版本映射的配对开关及组件保护后备;GMS 后续升级仍可能需要适配,不保证完全免维护。
  • Find Hub 地图修正逻辑未更改。原生配置持久性、GMS 升级后表现和其他 Google 功能尚未全面验证。
  • 测试版在 Redmi K80 Pro / GMS 26.43.30 上验证重启后自动扫描、配对弹窗及用户完成配对。正式构建通过 CI 和原固定签名校验,并已覆盖安装;完整配对测试是在测试版上完成的。

仅适用于国际版 Xiaomi Tag,不适用于国行版 Xiaomi Tag。APK 使用既有固定签名,可覆盖升级。

Assets

1

10/17/2026, 11:45:54 PM

适配 Google Play 服务 26.40.32,并更新兼容状态说明。

  • 新增精确构建:26.40.32 (260400-995630914),版本代码 264032035。
  • 更新 Finder、Fast Pair、自定位、网页动作、SPOT 集成、Tag 资格处理器和账号设置入口映射。
  • 保留 26.26.34、26.36.35、26.37.37 支持及未知构建保护。
  • 兼容状态页列出全部支持构建,并说明已配对 Tag 的网页响铃不受模块是否识别当前 GMS 构建影响(符合设备实测)。
  • 地图算法未变。
  • CI 构建成功;固定签名 APK 已覆盖安装。实机日志确认 26.40.32 的适配 Hook 成功加载,账号设置返回 ready=true、networkMode=2。

仅适用于国际版 Xiaomi Tag,不适用于国行版 Xiaomi Tag。APK 使用原固定签名,可覆盖升级。

Assets

1

10/9/2026, 11:13:45 PM

兼容状态页面完善,功能修复逻辑不变。

  • 显示模块自身版本,以及当前 Google Play 服务的完整版本名与版本代码。
  • 列出全部支持构建:26.26.34、26.36.35、26.37.37 的指定完整构建。
  • 支持列表与实际适配判断共用同一份数据,避免升级时漏改说明。
  • 增加滚动页面;明确已有适配映射不等于 LSPosed 已启用或所有功能已验证。
  • 未改变 GMS Hook、配对、网页指令、账号设置同步或地图算法。

构建成功,已使用原固定签名在实机覆盖安装。此次未新增端到端配对、网页响铃或位置更新验证。
仅适用于国际版 Xiaomi Tag,不适用于国行版 Xiaomi Tag。可覆盖升级,更新后建议重启手机。

Assets

1

10/9/2026, 11:04:31 PM

适配 Google Play 服务 26.37.37,保留旧版兼容。

  • 新增精确构建:26.37.37 (260400-994713346),版本代码 263737035。
  • 根据反编译更新 Fast Pair、国际版 Tag 资格、SPOT 集成、网页指令门控与账号设置客户端/回调映射。
  • 保留 26.26.34、26.36.35 已支持构建,以及未知构建保护和通知。
  • 地图算法不变,中国大陆以外的地图处理不变。
  • 构建成功;固定签名覆盖安装成功;实机确认 26.37.37 主进程各项 Hook 成功加载。
  • 本次未端到端复测新 Tag 配对、网页响铃及位置持续更新,不将 Hook 加载成功等同于所有功能已验证。

仅适用于国际版 Xiaomi Tag(15D23E),不适用于国行版 Xiaomi Tag。
APK 与此前正式版签名一致,可覆盖升级。升级后建议重启手机。
旧模块在未知 GMS 构建上停用相关 Hook,不代表 Google 原生网页响铃必然失效。

Assets

1

10/7/2026, 1:57:10 PM

增加 GMS 完整构建识别、兼容状态页面和未知版本通知。

  • 按实际加载 APK 的完整版本名及版本代码选择已验证映射。
  • 未知构建停止安装 GMS 配对、网页指令和账号设置混淆 Hook;地图修正独立运行。
  • 桌面模块入口显示已安装 GMS 版本和兼容状态。
  • GMS 更新或启动时检查未知版本,每个构建只提醒一次。Android 13 及以上需在模块页面允许通知。
  • 实机验证当前 26.36.35 正确识别并正常安装 Hook;六项版本匹配测试通过。

仅适用于国际版 Xiaomi Tag,不适用于国行版 Tag。APK 使用原固定签名,可覆盖升级。

Assets

1

10/7/2026, 12:52:45 PM

适配 Google Play 服务 26.36.35 (260400-991383798),保留 26.26.34 兼容。

  • 更新 Fast Pair 开关、国际版 Tag 资格处理器、网页签名指令门控、账号设置接口及拥有设备缓存同步映射。
  • 布尔门控校验无参数静态 boolean 方法签名,各项 Hook 独立处理异常,避免单个失效入口中断全部配对修复。
  • 已在 K80 系列实机验证新国际版 Xiaomi Tag 弹出配对窗口并配对成功。
  • 保留原有地图坐标修正和云端设置同步功能。

仅适用于国际版 Xiaomi Tag(Fast Pair model ID 15D23E),不适用于国行版 Xiaomi Tag。

APK 使用原固定 CI 签名,可覆盖升级。

SHA-256: 6D97A3EA4A660272E7656CDCA6B8F6400740998EFD14658C64625F63338981AB

Assets

1

7/27/2026, 12:34:04 AM

v0.9.7

  • 修复国际版 Xiaomi Tag 配对后只有首次位置写入网页、后续网页位置不再更新的问题。
  • 通过 Google Play 服务自带 Spot.API 条件式同步账号侧 Find Hub 网络设置;已开启时不会重复改写。
  • 恢复网页端签名响铃指令所需的 GCM / SPOT 门控,并在主 GMS 进程启动时刷新一次拥有设备/EID 缓存。
  • 移除测试阶段的强制快速上传、Owner 响应和位置流水线诊断 Hook,保留 Google 原生上传周期。
  • 保留中国大陆地图坐标、卫星图层、设备准星和分享对象自动归中的既有修复;大陆以外坐标不转换。

重要:仅适用于国际版 Xiaomi Tag(Fast Pair model ID 15D23E),不适用于国行版 Xiaomi Tag。

SHA-256: 976B269B2591C4E36FAE98F33003A5E9A8E1354920495C003B03503822224F1D

Assets

1

7/24/2026, 2:41:23 PM

更新内容

  • 修复 Find Hub“分享对象”页面点击本机位置准星后的地图偏移。
  • 修复准星首次正确、随后被 GPS 自动更新重新拉偏的问题。
  • 仅在 Find Hub 明确处于 USER_LOCATION 自动跟随状态时修正连续定位相机。
  • 手动拖图、设备/Tag 相机定位和中国大陆以外的坐标保持原有行为。
  • README 补充境外保护及所有地图图层的一致行为说明。

境外保护已回归香港、澳门、台湾、东京、首尔、河内、曼谷、新加坡、伦敦、纽约和悉尼,均不触发坐标转换,不影响正常出国使用 Find Hub。

Important

本模块只适用于国际版小米 Tag(Fast Pair Model ID:15D23E),不适用于国行小米 Tag。其他追踪器未测试,不保证兼容。

安装信息

  • 版本:0.9.6
  • Version code:15
  • APK SHA-256:01CE0575259CA13511FE7C5F1E64EC584F845103431C37C62FB28A6C1269A5F6
  • 签名证书 SHA-256:3e1c6c945a1518837936aa6d0db1e4d7879de4c4a7181c2e65a4638c73d713a7

APK 由 GitHub Actions 使用固定 CI 密钥签名,与 v0.9.3、v0.9.4、v0.9.5 一致,可直接覆盖升级。

Assets

1

7/24/2026, 12:35:58 PM

更新内容

  • 修复点击地图准星归中时,地图中心仍使用原始坐标而与蓝色定位点/本机设备位置错位的问题。
  • 新增 Find Hub 3.1.664-3 的镜头目标管线 odd#n 修正。
  • 只转换与当前已识别设备原始坐标匹配的镜头目标,避免重复转换,并且不影响用户手动拖动地图。
  • 保留 v0.9.4 的设备标记、卫星/混合图层及旧版 Find Hub 兼容修复。

Important

本模块只适用于国际版小米 Tag(Fast Pair Model ID:15D23E),不适用于国行小米 Tag。其他追踪器未测试,不保证兼容。

安装信息

  • 版本:0.9.5
  • Version code:14
  • APK SHA-256:013644B5910636FF16393A0BF40133C6433BB0EB076D18B4FD29F3DBA4FEA40A
  • 签名证书 SHA-256:3e1c6c945a1518837936aa6d0db1e4d7879de4c4a7181c2e65a4638c73d713a7

APK 由 GitHub Actions 使用固定 CI 密钥签名,签名与 v0.9.3、v0.9.4 一致,可直接覆盖升级。

Assets

1