现在手机上的高德、百度地图,打开首页先给你塞一堆卡片:天气、扫街榜、活动 banner、营销信息流…… 导航以外的内容越来越多,启动时还有开屏广告。作为一个只想「看路」的人,这些都属于干扰项。
最近刷到开源项目 MapAdKiller,一句话定位很干脆:把高德、百度、腾讯地图里那些不想看的东西关掉,只留地图。我自己折腾了一阵,这篇就聊聊它是什么、怎么装、以及真实使用下来的感受。
项目简介
MapAdKiller 是一个 Android 上的去广告 / 去冗余模块,当前版本 2.2.4,基于 libxposed API 102,最低支持 Android 8.0。它支持的地图 App 是:
| 应用 | 包名 |
|---|---|
| 高德地图 | com.autonavi.minimap |
| 百度地图 | com.baidu.BaiduMap |
| 腾讯地图 | com.tencent.map |
它最让我舒服的一点是**「开关化」做得彻底**:所有功能都是面板里的开关,你决定关哪些,随时能拨回来,而且每一项都标了「开了会怎样」,不用猜。它不是一股脑把所有东西全杀掉,而是把控制权交还给你。
两种装法
这是它设计上最聪明的地方 —— 分了两条路线,照顾不同用户:
- 免 root 内置版(推荐普通用户):把模块直接并进了地图本体(目前提供高德的
amap-*-nonroot.apk,约 175 MB)。装完就是成品,不需要 root、不需要 Magisk、不需要 LSPosed。代价是包体大、签名变了(CN=xiawanli),需要先卸载官方高德再装。 - LSPosed 模块版(给已用框架的用户):一个约 4 MB 的小模块
MapClean-lsp-*.apk,靠框架注入,三个地图共用一份配置。它完全不动地图安装包,安全软件不会报红。
⚠️ 最常见误用就是装错包。README 里专门用红字提醒:root / LSPosed 用户请只装 4 MB 的模块版。如果某天发现「高德签名被改了」,几乎一定是误装了 175 MB 的内置版 —— 它本来就是重新签名的重打包高德。
核心能力
面板里的开关分了 9 个分类(首页 / 省电 / 工具 / 内容 / 地图 / 我的 / 底栏 / 其他 / 外观),基本覆盖了地图 App 里所有能塞东西的地方。其中我觉得最有价值的两组:
- 首页清理:天气卡片、扫街榜、活动、营销信息流、回家/公司快捷入口等,逐项关。
- 省电 / 后台:11 个开关,拦截推送长连接(ACCS)、周期任务(WorkManager/JobScheduler)、阿里埋点 Analytics、开屏广告请求、广告曝光上报等。顶部还有「一键省电」按钮,一次把 9 项全开。
性能上作者也给了实测数据:高德 17.02 上首页地图拖动帧间隔 p99 从 82.77ms 降到 17.3ms,掉帧率 0.0%,稳定 60fps;冷启动中位约 790ms。模块自身不创建任何线程,静置 60 秒日志只有 0~3 条 —— 这个「几乎零开销」的卖点,对一个常驻模块来说很重要。
我的安装与使用过程
我手机上本来就有 LSPosed,所以走的是模块版:
- 到 Releases 下载
MapClean-lsp-*.apk,安装。 - LSPosed 里启用模块,把高德
com.autonavi.minimap勾进作用域。 - 强制停止高德后重新打开。
- 长按底部「我的」标签约 1 秒,面板就从底部弹出来了。
这里有个上手小窍门:入口是「长按底部标签栏里的『我的』」,不是页面内的头像,而且得按住大约 1 秒再松手。第一次没反应多半是按太短或者按错位置,README 的 FAQ 里也专门写了这条。
面板打开后长这样(文字版导览):顶部固定显示当前目标 App 头像 + 名称、一个版本胶囊(绿=最新 / 红=有新版本)、一个连接状态药丸(已连接·可写入 / 只读·需要目标 App 运行中)。下面一排分类 chip,底部还有个搜索框 —— 开关太多时直接搜名字比滑动找快得多。
使用感受
说几点真实体感,不吹不黑:
优点
- 「开关化」体验是真的好。以前用类似模块要么全关要么不动,MapAdKiller 把每一项都拆开,还写了「开了会怎样」,对非折腾型用户极友好。我能精确关到「只去掉开屏广告和首页营销卡,但保留天气」,自由度很高。
- 去得干净。关掉首页那排卡片之后,高德首屏真正回到了「地图 + 搜索框」,启动时的开屏广告也消失了,清爽感明显。
- 省电可感知。开了「关闭推送长连接」之后,待机耗电确实有改善(这一项 README 明确说是「省电最多的一项」),不过代价是行程提醒、活动推送、消息中心收不到 —— 这个取舍它写得很直白,用户可以自己拨回。
- 几乎无性能负担。我开着全套拦截用了几天,没感觉到卡顿,冷启动也正常。作者给的 60fps 帧率数据,日常体感是成立的。
- 面向国内用户的设计细节。更新检查优先走国内镜像(gh-proxy / ghfast 等),没 VPN 也能查到新版本;面板、FAQ 全中文,连「装错包」这种新手坑都预判式写了红字提醒。
需要注意的点
- 「省电 / 后台」页的开关改动后,必须强制停止 + 重开目标 App 才生效。第一次我不知道,拨完开关界面没变,翻 FAQ 才明白这些是「启动期门控」—— 好处是关掉的项运行时彻底不加载对应实现,零开销,但操作流程上要多一步强停。
- 签名变更(内置版)。如果你是内置版用户,应用商店的自动更新可能会把官方高德覆盖回来,表现为「模块突然消失」,需要关掉自动更新后重装内置版。模块版没这问题。
- 灵动岛 / 手表联动等。若官方原包上这些本来就用不了,那属于设备侧问题,模块不背锅,README 也如实说明了。
一些技术层面的观察
顺手看了下源码(io.github.ldxm666.mapadkiller 下的 AmapHooks / AmapAlimama / AmapSubprocess 等),作者把「高德自有 UI/数据层去广告」和「阿里妈妈广告 SDK 通道」「阿里 UT 埋点」刻意拆成独立文件,理由是便于审计和单独回滚。进程策略上也很克制:高德常驻子进程只挂最小 kill 集,H5 容器、pushservice 等子进程直接跳过不挂 hook —— 这种「只在该挂的地方挂」的取舍,是从日志和注释里能看出的工程成熟度。
另外构建脚本里有个细节值得提:模块版在编译期会用 tools/module_prune.py 直接删掉 9 个免 root 专属文件,并校验核心类仍在,确保模块 APK 的 dex 里这些类与字符串 0 命中。这种「构建期裁剪」比运行时判断更干净,也解释了为什么模块版只有 4MB。
小结
如果你也被地图 App 里越来越多的营销卡片、信息流、开屏广告烦到,又不想为了清净去折腾各种零散的 Xposed 规则,MapAdKiller 是个很省心的选择:
- 普通用户 → 装免 root 内置版,卸掉官方高德换上重打包版,零门槛;
- 已用 LSPosed / 不想动地图包 → 装 4MB 模块版,勾进作用域即可,三个地图共用一套配置。
它把「去广告」做成了可视化、可回退、零性能负担的日常工具,而不是极客专属的调校玩具。开源(GPL-3.0-or-later)、持续更新(CHANGELOG 很活跃)、面向国内用户的细节也到位。唯一要记住的就是:装对包、长按「我的」一秒、省电开关改完强停重开。
项目地址:https://github.com/ldxm666/MapAdKiller
免责声明里的措辞也值得认同:项目仅供学习与技术交流,请支持正版,通过官方渠道使用地图服务。
(注:本文基于项目 README 与 CHANGELOG 以及本人实际使用体验写成,具体开关项与性能数据以项目最新版本为准。)