Skip to content

About

MapAdKiller - 高德/百度/腾讯地图去广告 + 高德首页/我的页 UI 自定义

Resources

Stars

28 stars

Watchers

0 watching

Forks

Latest commit

 

History

51 Commits

Folders and files

Repository files navigation

MapAdKiller

把高德、百度、腾讯地图里那些不想看的东西关掉 —— 只留地图。

Version libxposed License Platform Telegram Stars


这是什么

一个 Android 模块。装好之后,地图 App 的广告、活动、营销信息流、推荐内容会被关掉,道路、地名、导航这些该有的东西一样不少。

  • 两种装法:免 root 内置版(普通用户,装上就能用)/LSPosed 模块版(已经用框架的用户)。
  • 有开关面板:所有功能都是开关,你决定关哪些,随时可以拨回来。
  • 改了立刻看得见:面板里每一项都标了「开了会怎样」,不用猜。
  • 不占资源:模块自己不创建线程,静置时几乎不产生任何日志。

支持的应用:

应用 包名
高德地图 com.autonavi.minimap
百度地图 com.baidu.BaiduMap
腾讯地图 com.tencent.map

当前版本 2.2.4(versionCode 224),基于 libxposed API 102,最低 Android 8.0。


下载

到 Releases 页面下载,两个包选一个就行。

包 文件名 适合谁 需要 root 吗
免 root 内置版(推荐) amap-2.2.2-nonroot.apk(高德免 root 内置版) 普通用户,手机上没装框架 不需要
模块版 MapClean-lsp-v2.2.2.apk 已经在用 LSPosed / Vector 的用户 需要框架

一句话区别:内置版把模块直接并进了地图本体,装完就是成品,代价是包体大、签名变了;模块版是一个几 MB 的小模块,靠框架注入,三个地图共用一份配置。

⚠️ 别装错包(这是最常见的误用)

模块版 MapClean-lsp-*.apk 免 root 内置版 �map-*-nonroot.apk
体积 约 4 MB 约 175 MB
需要框架 需要 LSPosed / Vector 不需要
会不会动到高德本体 完全不动(只在运行时注入) 会替换:包名仍是 com.autonavi.minimap,但签名变了(CN=xiawanli)
卸载后 高德还是官方原版 需要重装官方高德

root / LSPosed 用户请只装 4 MB 的模块版。 如果你发现"高德签名被改了",几乎一定是装了 175 MB 的内置版 —— 它本来就是重新签名的重打包高德。装回去的办法:卸载高德 → 从应用商店重装官方版 → 只安装模块版。


快速开始

免 root 内置版(推荐)

  1. 下载 amap-2.2.2-nonroot.apk(高德免 root 内置版)。
  2. 先卸载手机上原有的高德地图(内置版重新签过名,和官方签名冲突,无法覆盖安装)。

    卸载会清掉登录状态和已下载的离线地图,装好重新登录即可。

  3. 安装,打开高德地图,长按底部「我的」标签约 1 秒,面板就出来了。

不需要 root,不需要 Magisk,不需要 LSPosed,也不需要任何框架。

模块版(LSPosed)

  1. 安装 MapClean-lsp-v2.2.2.apk。
  2. 在 LSPosed / Vector 里启用模块,并把需要处理的地图 App 勾进作用域 (高德 com.autonavi.minimap、百度 com.baidu.BaiduMap、腾讯 com.tencent.map,勾哪个管哪个)。
  3. 重启目标地图 App(强制停止后重新打开),然后长按底部「我的」标签约 1 秒。

模块版不改动地图安装包,安全软件不会报红,三个地图共用同一份模块与同一套配置。


打开面板

图:长按底部「我的」标签

长按底部「我的」标签约 1 秒 → 面板从底部弹出。再长按一次即可收起。

  • 面板右上角的 ✕ 只关闭面板,不会关掉悬浮球。
  • 想彻底让悬浮球消失,去 外观 → 关闭悬浮窗(见下一节)。
  • 关掉之后想再打开:还是长按「我的」标签约 1 秒,面板会重新出现。

面板底部有一个搜索框,开关太多找不到时直接搜名字。


面板导览

面板顶部是一排分类标签(chip),左右滑动或直接点选切换:

顺序 分类 里面有什么
1 首页 首页那些卡片的开关:天气、扫街榜、活动、营销信息流、回家/公司等。顶部有常驻横幅
2 省电 推送、后台任务、埋点与广告、第三方标注过滤,共 11 项 + 一键省电
3 工具 首页工具宫格与「更多工具」里的逐个开关
4 内容 各类内容流、推荐位、详情页信息流
5 地图 地图上的兴趣点标识、图层相关
6 我的 「我的」页面里的入口与卡片
7 底栏 底部标签栏的入口
8 其他 悬浮窗入口、调试日志、当前版本、检查更新
9 外观 悬浮球与面板的大小、不透明度、宽度

面板顶部固定显示:

元素 含义
头像 + 名称 当前正在配置的目标 App
版本胶囊 🟢 绿色 = 已是最新版本;🔴 红色 + 「新版本」小标 = 有新版本可用(点它可去下载)
连接状态药丸 ● 已连接 · 可写入 正常 / ● 已连接 · 写入被拒 写不进去 / ○ 只读 · 需要目标 App 运行中 目标 App 没在跑
GitHub 链接 直达项目主页

首页顶部的常驻横幅:省电拦截已开启 · 查看/调整 →,点一下直接跳到「省电」页。 如果你之前关掉过其中某些项,这行会变成红字提示,提醒你当前不是全拦截状态。


外观设置

「外观」页有 4 个滑块,拖动时实时预览,松手才保存,不满意随时拖回去。

滑块 可调范围 默认值
悬浮球大小 36 ~ 72 dp 46 dp
悬浮球不透明度 30 ~ 100 % 100 %
面板宽度 自动 或 280 ~ 420 dp 自动
面板不透明度 60 ~ 100 % 100 %

下面还有两个按钮:

  • 恢复默认外观:一键把上面 4 项拨回默认。
  • 关闭悬浮窗:悬浮球和面板都不再出现(适合已经调好、不想再看到球的用户)。

⚠️ 关掉悬浮窗之后不是没法找回:长按底部「我的」标签约 1 秒,面板会重新弹出。


省电 / 后台

这一页有 11 个开关。语义请先记住一句话:

开 = 这个行为已经被拦截(默认全部开启);关 = 恢复高德的原生行为。

分组 开关 拦截了什么 关掉之后
推送 关闭推送长连接 ACCS 长连接(省电最多的一项) 长连接恢复,待机耗电上升
关闭推送消息处理 推送消息的分发处理 推送消息会被处理,耗电略升
关闭推送服务壳 推送服务的外壳进程(激进) 推送服务壳恢复常驻
后台任务 关闭周期任务 WorkManager / JobScheduler 周期任务 周期任务恢复调度
关闭子进程拦截 子进程拦截的总闸(排查用) 一次性放行全部子进程拦截,用于排查「是不是我拦的」
关闭桌面小组件刷新 桌面小组件的定时刷新 小组件恢复刷新,耗电上升
关闭云控调度池 LotusPool 云控调度池 云端下发的周期任务恢复
埋点与广告 关闭阿里埋点 Analytics 阿里 Analytics 埋点初始化 埋点恢复上报
关闭开屏广告请求 开屏广告请求 开屏广告可能重新出现
关闭广告曝光上报 广告曝光上报 曝光数据恢复上报
地图 启用第三方标注过滤 过滤第三方 POI 标注(默认就是关闭,需手动开启) 不参与拦截;注意开启后可能影响帧率

顶部还有一个 「一键省电(全部开启拦截)」 按钮,一次把其中 9 项打开 (不含「子进程拦截」总闸和「第三方标注过滤」——前者是排查开关,后者默认就该关着)。

两件必须知道的事

  1. 本页开关改动后,需要「强制停止 + 重新打开」目标 App 才生效。 这样设计的好处是:关闭的项在运行时彻底不加载对应实现,零性能开销,而不是「加载了再拦掉」。
  2. 代价要提前想清楚:关掉「推送长连接」之后,行程提醒、活动推送、消息中心、家人地图消息会收不到。 想恢复就把那一项拨回「开」,强停重开即可。

更新

  • 每天自动检查一次(24 小时节流,不会频繁请求)。
  • 有新版本时,面板顶部的版本胶囊会变红,并挂一个「新版本」小标。
  • 每个新版本只提示一次,不打扰。
  • 也可以手动查:其他 → 检查更新,四种状态:检查中 / 有新版本 / 已是最新 / 线上版本未获取。
  • 查到新版本后会出现 「镜像下载」 按钮。

国内镜像优先:更新检查与下载会优先走国内镜像 (gh-proxy.com、gh.llkk.cc、ghfast.top、ghproxy.net、jsDelivr), 没有 VPN 也能正常查到新版本。


常见问题

Q1. 长按「我的」没反应,面板打不开? 确认你长按的是底部标签栏里的「我的」(不是页面内的头像),并且按住约 1 秒再松手。 模块版还要确认两件事:框架里模块已启用、目标地图已加入作用域,并且重启过目标 App。

Q2. 顶部显示 ○ 只读 · 需要目标 App 运行中? 面板是靠目标 App 的进程读写配置的。把地图切到前台(或重新打开一次),状态会变成 ● 已连接 · 可写入。

Q3. 显示 ● 已连接 · 写入被拒? 说明配置没能写进去。先强制停止目标 App 再重开;仍然如此,检查系统是否限制了该应用的后台/存储权限。

Q4. 我把悬浮球关了,怎么找回来? 长按底部「我的」标签约 1 秒,面板会重新出现,然后去「外观」里重新打开悬浮窗。

Q5. 开关点了,但界面没变化? 分两种情况:

  • 「省电 / 后台」页的开关:必须强制停止并重开目标 App 才生效(这些项是安装期/启动期门控)。
  • 其他页的开关:多数立即生效;地图上的标注类改动,需要重新进入一次地图页。

Q6. 推送收不到了? 去「省电」页把 关闭推送长连接 和 关闭推送消息处理 拨回「关」,然后强停重开。 这是省电的代价,取舍由你决定。

Q7. 检查更新一直显示「线上版本未获取」? 通常是网络问题。稍后再试;模块会优先走国内镜像,但首次检查仍需要能访问 GitHub 或任一镜像。

Q8. 装内置版提示「应用未安装 / 签名不一致」? 内置版重新签过名,必须先卸载官方高德地图再安装。卸载会清除登录态与离线地图。


装了内置版之后,高德自己又更新回去了?

内置版是重新签名过的,理论上商店更新不了它;但部分机型的应用商店/高德自更新会直接覆盖安装官方版,表现为"模块突然消失了"。

处理:在应用商店里把「高德地图」的自动更新关掉,或在高德的设置里关闭自动更新。之后重新安装一次内置版即可。

面板显示「只读 · 无法写入配置」/ 开关拨了不生效?

说明当前进程里拿不到可写的配置通道。依次尝试:

  1. 先打开一次目标地图 App,再长按「我的」打开面板(首次冷启动时通道可能还没就绪);
  2. 模块版用户:在 LSPosed / Vector 里确认本模块已启用,且作用域包含对应地图的包名,然后强制停止地图 App 重开;
  3. 仍然不行就重装模块。

模块会优先用框架的远程配置通道;拿不到时自动降级为应用进程内的本地配置(面板右上角会显示「可写入(本地)」)。降级模式下面板的读取、保存都正常,但少数在启动极早期安装的拦截项可能仍按默认值运行 —— 关掉再重开一次地图 App 即可。

性能

模块本身的开销可以忽略:不创建任何线程,静置 60 秒模块日志只有 0 ~ 3 条。

高德地图(17.02.0.1541)实测:

指标 结果
首页地图拖动帧间隔 p99 17.3 ms
掉帧率 0.0 %
帧率 稳定 60 fps
冷启动耗时(中位) ~790 ms

致谢与交流

  • 有问题、有建议、想第一时间拿到新版本:Telegram 交流群
  • Bug 与功能请求:请走 GitHub Issues
  • 觉得有用的话,点个 Star 就是最大的支持 ⭐

Star 趋势

Star History Chart


已知限制

  • 面板的分类标签栏,从屏幕最右约 160px 起手滑动不了(系统手势区冲突)。 绕过办法很简单:直接点 chip 就能跳到对应分类。
  • 灵动岛 / 手表联动:如果官方原包上这些功能同样不可用,那属于设备侧配置问题,与本模块无关。

License

GPL-3.0-or-later

免责声明

本项目仅供学习与技术交流使用,不得用于商业用途。 所有商标、素材与数据归各自权利人所有。请支持正版,通过官方渠道使用地图服务。 使用本模块所产生的一切后果由使用者自行承担。

About

MapAdKiller - 高德/百度/腾讯地图去广告 + 高德首页/我的页 UI 自定义

Resources

Stars

28 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors