github ldxm666/MapAdKiller v2.2.3
2.2.3

4 hours ago

v2.2.3(versionCode 223)— 悬浮窗按版本分流、装错包诊断

发布日期:2026-10-20。版本码:223。基线 v2.2.2(版本码 222)。

新增

  • 悬浮窗按安装形态分流:免 root 内置版默认显示悬浮球;LSPosed 模块版默认不显示(悬浮窗主要面向免 root 用户),可在面板「其他 → 悬浮窗入口」手动开启。判定依据是宿主 APK 内是否存在 assets/lspatch/config.json,不依赖 root 状态、也不依赖 PackageManager。
  • host_mode 诊断日志:event=host_mode pkg=<宿主> embedded=<true|false> kind=<lspatch-embedded|official-or-lsposed>,用于一眼判断用户装的是官方版还是内置版,方便排查「模块好像把高德签名改了」这类误报。

修复

  • host_signer 在 Android 13+ 读不到证书(GET_SIGNATURES 已废弃返回 null)→ 改用 GET_SIGNING_CERTIFICATES。
  • 诊断日志误报包名(会打出 com.miui.contentcatcher / com.google.android.webview)→ 改为从宿主 Context 取包名,并按包名去重。
  • 不再输出证书 DN / 指纹:LSPatch 会把宿主的 PackageManager 包装成「原版应用」,读到的始终是官方签名 CN=minimap,而非磁盘上重签名包的 CN=xiawanli —— 该字段具有误导性,已删除。需要确认签名请对 APK 文件本身做校验(apksigner verify --print-certs)。

构建

  • 模块版在构建期彻底移除免 root 专属实现:tools/module_prune.py 会在编译前复制一份源码并删除 9 个文件(悬浮面板 / 悬浮球 / 悬浮窗挂载 / 悬浮窗 hook / 自绘滑块 / 头像徽章 / 长按入口),并校验 9 个核心类仍在。模块 APK 的 dex 里这些类与相关字符串全部 0 命中,体积从 4,380,276 B 降到 4,331,124 B。
  • 签名密钥固定并加构建守卫:app/build.ps1 现在会校验 app/debug.keystore 的证书,缺失或不匹配直接中止构建,避免再次出现「换密钥导致老用户无法升级」。

说明

  • 2.2.3 同时包含 2.2.2 之后的所有修复:未登录用户打不开面板、面板关闭后无法再次打开、版本胶囊卡在「检查中」、部分设备显示「只读」与开关不生效(配置后端本地兜底)。
  • 更新模块 APK 后若发现模块没生效:LSPosed 会缓存模块的 apk_path,重装后该路径可能指向已删除的旧目录,导致模块不注入(重启也不会自动刷新)。重启一次手机,或在 LSPosed 里取消再重新勾选一次作用域即可。

下载

你要装哪个 文件名 体积 说明
root / LSPosed 用户 MapClean-lsp-v2.2.3.apk 约 4 MB 不会改动高德本体,只在运行时注入
普通用户(免 root) amap-2.2.3-nonroot.apk 约 175 MB 会替换你手机上的高德,签名变为 CN=xiawanli

装了模块版发现「模块没生效」?LSPosed 会缓存模块的 apk_path,重启一次手机(或在 LSPosed 里取消再勾选一次作用域)即可。
发现「高德签名被改了」?几乎一定是装了 175 MB 的内置版 —— 它本来就是重新签名的重打包高德。

反馈:Issues · Telegram 交流群

Don't miss a new MapAdKiller release

NewReleases is sending notifications on new releases.