Skip to content

MapAdKiller 2.1.5:修复百度地图(钩子 + 设置页读写)

Latest

Choose a tag to compare

@ldxm666 ldxm666 released this 12 Oct 12:11
· 1 commit to main since this release

MapAdKiller 2.1.5 更新说明

发布日期:2026-10-12。版本码:215。对比基线 v2.1.2(版本码 212)。

修了什么:百度

发布日期:2026-10-12。版本码:215。对比基线 v2.1.4(版本码 214)。

2.1.4 的模块对百度地图完全没有反应:开关照写、界面照旧,logcat 里连一条 BMapClean 都没有。
腾讯与高德不受影响。

根因:一个 APK 只能声明一个 Xposed 入口(META-INF/xposed/java_init.list),
百度、腾讯两半只能靠共享源码里的显式转发到达。之前为了让「只并入高德」的免 root
精简构建能编译(它会把整个 bmapclean 包删掉),这两处转发被直接从共享源码里删掉了 ——
精简构建过了,完整模块的百度跟着一起失效:H.module 恒为 null,
每次挂钩都以 miss <id> (module null) 失败,装了等于没装。

  • 恢复 mapclean.MainHook.onModuleLoaded 与 mapadkiller.MainHook.onPackageReady 两处转发。
  • 精简构建改为生成 no-op 桩类(tools/build_variant.py 的 STUBS 新增 bmapclean/MainHook),
    而不是把调用从共享源码里拿掉。
  • 新增构建期护栏:app/build.ps1 在 DEX 里直接校验
    Lio/github/ldxm666/bmapclean/MainHook; 与 Lio/github/ldxm666/mapadkiller/TmapHooks;
    必须存在,缺一个就 fail the build;精简构建也把前者加进 required 列表,
    并把原来的「整包禁用」改成逐类禁用(允许空桩,不允许任何真正能挂钩百度的类)。

同一批的第二个回归:设置页「百度」那一页读写全挂

用户反馈:设置页里百度那一页怎么点都提示 「LSPosed 服务未连接」。

同一个成因的第二个漏接。bmapclean.App 的注释写着"由 io.github.ldxm666.mapclean.App
(真正的 Application)驱动",但那三处调用从来没接上 —— 于是 bmapclean.App.service
恒为 null:百度组(bmapclean_config)读开关永远返回缺省值、写开关永远返回 false,
UI 就把它显示成"服务未连接";bmapclean.App.app() 也为 null,诊断卡永远是"尚未收到回报"。

修复:mapclean.App 的 onCreate / bindService / diedService 补上
bmapclean.App.attach / onBind / onDied;精简构建用 no-op 桩类补位;
app/build.ps1 的护栏把 Lio/github/ldxm666/bmapclean/App; 纳入必查。

实机:I/MapCleanApp: onServiceBind ok 之后紧跟着
I/BMapCleanApp: onServiceBind ok (driven by mapclean.App)(修复前这一行不存在)。

  • 实机验证:baidu_adapter version=22.0.0 mode=capabilities →
    event=install_done pkg=com.baidu.BaiduMap ok=60 miss=0。
  • 高德四件修复无回归;签名与 2.1.2 起所有版本相同(cbecdaeb…54ed),可就地覆盖安装。

免 root 内置版(不需要 root / LSPosed / 任何框架)在主项目发布页:https://github.com/ldxm666/MapAdKiller/releases/tag/v2.1.5

附件 大小 SHA-256
MapClean-lsp-v2.1.5.apk 4,277,717 B 3611ae031b51b877d57802056f114b32262a2c4093da8bdf3491063ec625f18d
SHA256SUMS.txt — 校验值

模块签名与 2.1.2 起的所有版本相同(cbecdaeb…54ed),可就地覆盖安装。