站点导航
首页 网址导航 文章资讯 资源下载 问答社区 排行榜
开源项目 android-ad-cleaner:无需 Root的开源国产安卓手机系统广告一键清理工具
全文约 8075 字 · 阅读约 21 分钟
开源项目

android-ad-cleaner:无需 Root的开源国产安卓手机系统广告一键清理工具

神器小编 · 2026-11-02 16:00 24 阅读

android-ad-cleaner 是 MIT 协议开源的国产安卓手机去广告工具,无需 root、不解锁、不刷机,通过 ADB 批量关闭系统个性化广告、下拉热搜、负一屏资讯、应用商店推广位、营销通知渠道和快应用,支持小米 HyperOS、OPPO ColorOS、vivo OriginOS、荣耀 MagicOS 等主流定制系统。

android-ad-cleaner 是什么

android-ad-cleaner 是一个 MIT 协议开源的安卓手机去广告项目,它要解决的问题非常具体:国产定制安卓系统(HyperOS、ColorOS、OriginOS、MagicOS、氧OS 等)自带的系统广告、下拉搜索热搜、负一屏资讯、应用商店轮播推广位、开屏活动弹窗,以及各个 App 的"内容与营销""活动优惠"类通知推送。

它的做法不是装广告拦截器,也不是改 hosts,而是通过电脑上的 ADB 调试连接手机,直接拨动系统和厂商 App 自己提供的设置开关。遇到实在关不掉的广告组件(比如 OPPO 的 com.opos.ads、小米的 com.miui.systemAdSolution),用 pm suspend 把它挂起,全程不 root、不解锁、不刷机、不动 system 分区,系统更新和保修都不受影响。

它的做法不是装广告拦截器,也不是改 hosts,而是通过电脑上的 ADB 调试连接手机,直接拨动系统和厂商 App 自己

它能处理哪些东西

项目把要关的内容分成了六类,每一类都有明确的处理手段:

类别 典型例子 处理方式
系统广告 个性化广告、广告跟踪(OAID)、智能推荐服务 拨系统设置里的原生开关
热搜和资讯 下拉搜索热榜、负一屏资讯流、浏览器信息流 各 App 设置里的开关,浏览器切到简洁首页
推广位 应用商店轮播图、开屏广告、悬浮活动、签到福利 商店"服务管理"里的开关逐项关闭
营销推送 各 App 的"内容与营销""活动优惠"通知 按通知渠道单独关,订单、快递、更新提醒保留
广告组件 com.opos.ads、com.miui.systemAdSolution 等 pm suspend 挂起,需要机主确认
快应用 广告里点一下就跳进去的"免安装小程序" quickapp 检测后执行 quickapp off 关闭

需要特别说明的是,营销通知是按渠道粒度关的。同一个天气 App,"天气预警"渠道保留,"内容与营销"渠道关掉;同一个商店,"版本更新提醒"保留,"活动优惠"渠道关掉。不会把整个 App 的通知一刀切禁掉。

它明确不做的事

开源项目的边界感很重要,这个项目在 README 里专门列了"不做的事":

  • 不卸载、不停用任何系统应用,pm uninstall 和 pm disable-user 都不用;

  • 不改 system 分区,不装 Xposed 模块;

  • 不替你同意任何 App 的用户协议,遇到协议页会让你点"取消"或"以后再说";

  • 不截取账号页和手机号页;

  • 不处理 App 内部的信息流广告(短视频、浏览器里的视频广告等)。

这些边界决定了它的安全性:你手机上的微信、支付宝、银行 App 完全不会被碰。

功能特色

1. 四种用法,从纯小白到极客都能覆盖

用法 适合谁 需要准备什么
AI 智能体替你跑 有电脑、想省事 电脑、数据线、一个能执行命令的 AI 工具(Claude Code、Cursor、Trae、Codex 等)
聊天 AI 带你点 只有手机 DeepSeek、豆包、ChatGPT 任意一个,照着提示词一步步点
照清单手动关 想自己掌握每一步 只要手机,按 docs/清单/ 里的图文清单手动进设置关
桌面客户端 不想敲命令 Mac(Apple/Intel 芯片)或 Windows 10/11、数据线,双击安装包点按钮

用法一的开场白作者都帮你写好了,直接复制给 AI:

请克隆 https://github.com/rddmwmddr/android-ad-cleaner ,读仓库里的 AGENTS.md,
然后帮我给连着电脑的这台手机去广告。每一步改之前告诉我要改什么。

2. 完全可逆,改动前自动快照

执行前会先跑 backup 命令,把品牌型号、系统应用列表、自装应用列表、系统设置项全量、通知渠道全量、插电常亮原值、将要挂起的包、将要关闭的营销渠道全部存到 backups/ 目录下。

还原也是一条命令:

python3 tool/run.py -s <序列号> unsuspend # 解除全部挂起
python3 tool/run.py -s <序列号> chan-on backups/<型号>-<时间>/channels.tsv # 恢复通知渠道
python3 tool/run.py -s <序列号> quickapp on # 恢复快应用

App 内部拨过的开关,按清单文档里的路径手动打开即可。

3. 机型脚本机制,按型号和系统版本精确适配

项目把"打开哪个 App、点哪几个字进设置页、关哪几个开关、留哪几个"这种操作步骤录成一份份 recipe.py,放在 recipes/<品牌>-<型号>/ 目录下。因为设置页随型号和系统版本变化,所以每个机型一份。

引擎跑的时候会先检测手机型号和系统版本,版本对不上就提示,找不到入口的步骤直接跳过,不会乱点一通。

4. 营销通知按渠道粒度关闭

这是这个项目和其他"一键去广告"工具最大的区别。它会先用 chan-scan 命令列出当前手机上所有 App 的通知渠道,让你按渠道勾选要关哪些。服务类通知(快递、天气预警、软件更新)默认不勾选,营销类(内容推荐、活动优惠、福利签到)才列入候选。

5. 桌面客户端图形化操作

不需要装 Python,不需要敲命令。Windows 和 Mac 都有安装包,插上手机自动识别,分五步走:连接手机 → 检测型号和广告组件 → 勾选要关的营销通知 → 执行 → 完成提示。左下角有"反馈问题"按钮,自动附上诊断信息打开 GitHub Issue 提交页。

Mac 版已经过苹果签名和公证,双击就能打开;Windows 版弹"已保护你的电脑"时点"更多信息 → 仍要运行"即可。

6. 数据不出本机

脚本在你自己电脑上跑,不联网上传任何东西。本地快照目录 backups/ 已经被 .gitignore 排除,不会被误传到公开仓库。错误日志上报时,序列号、用户目录、邮箱、手机号、IP 都会被替换,服务器只存 90 天,IP 只存哈希。

脚本在你自己电脑上跑,不联网上传任何东西。本地快照目录 backups/ 已经被 .gitignore 排除,不会被误传

使用方法

前置准备

  1. 手机进入设置 → 关于手机 → 连续点版本号 7 次,开启开发者模式;

  2. 进开发者选项,打开"USB 调试";小米/Redmi 还需要额外打开"USB 调试(安全设置)",这一项要插 SIM 卡并登录小米账号;

  3. 用数据线把手机连到电脑,手机弹窗勾选"始终允许这台电脑调试",点允许;

  4. 荣耀、华为还要在开发者选项里打开"仅充电模式下允许 ADB 调试"。

方式一:用桌面客户端(推荐新手)

  1. 到 Releases 页面下载对应系统的安装包:

  • Mac Apple 芯片:AndroidAdCleaner-0.2.6-mac-arm64.dmg

  • Mac Intel 芯片:AndroidAdCleaner-0.2.6-mac-intel.dmg

  • Windows 安装版:AndroidAdCleaner-0.2.6-windows-setup.exe

  • Windows 免安装:AndroidAdCleaner-0.2.6-windows-portable.zip

  • 安装并打开客户端;

  • 插上线,客户端自动识别手机型号;

  • 点"检测",它会列出机型脚本、快应用、广告组件情况;

  • 在营销通知页按渠道勾选要关的项;

  • 点"执行",等进度条跑完;

  • 完成后按提示关闭开发者模式,断开数据线。

  • 不知道自己 Mac 是哪种芯片:左上角苹果图标 → 关于本机,"芯片"写 Apple M 开头的选 Apple 芯片。

    方式二:从源码用命令行跑

git clone https://github.com/rddmwmddr/android-ad-cleaner
cd android-ad-cleaner
pip3 install -r requirements.txt

python3 tool/run.py devices # 看序列号、型号、有没有机型脚本
python3 tool/run.py -s <序列号> check # 只读检查,不动任何东西
python3 tool/run.py -s <序列号> backup # 改动前快照
python3 tool/run.py -s <序列号> recipe # 跑对应机型的脚本
python3 tool/run.py -s <序列号> chan-scan # 列营销通知渠道
python3 tool/run.py -s <序列号> chan-off backups/<型号>-<时间>/channels.tsv
python3 tool/run.py -s <序列号> quickapp # 检测快应用;quickapp off 关闭
python3 tool/run.py -s <序列号> finish # 收尾,提醒关闭开发者模式
python3 tool/run.py -s <序列号> dev-off --yes # 从电脑关闭开发者模式

方式三:让 AI 智能体代跑

把这段开场白复制给支持命令执行的 AI 编程工具:

请克隆 https://github.com/rddmwmddr/android-ad-cleaner ,读仓库里的 AGENTS.md,
然后帮我给连着电脑的这台手机去广告。每一步改之前告诉我要改什么。

AI 会读仓库里的操作规范文档 AGENTS.md,然后一步步帮你执行。每一步改之前都会先告诉你要改什么,你确认后再动手。

AI 会读仓库里的操作规范文档 AGENTS.md,然后一步步帮你执行。每一步改之前都会先告诉你要改什么,你确认后再动手

实测过的机型

项目维护了一份真机实测表,下面是当前已经跑通完整流程的部分机型:

品牌 代表机型 系统 验证状态
荣耀 PNM-AN10 MagicOS 10 实测通过,重跑 4 分钟,26 个营销通知渠道
小米 18 Pro Max HyperOS 4.0.24 九段通过
小米 REDMI K80 至尊版 HyperOS 2 / Android 16 真机九段通过,重跑 3 分钟
小米 REDMI K90 Pro Max HyperOS OS4.0.2.0 / Android 17 九段实测通过,重跑 169 秒
Redmi Note 14 Pro HyperOS 3.0.309 / Android 16 八段实测通过,整轮约 5 分钟
Redmi Note 12 Turbo HyperOS OS3.0.5.0 实测通过,九段 3.5 分钟
OPPO Find N6 ColorOS 16.0.9 路径实测,30 个通知渠道
vivo X300 Ultra OriginOS 7 实测通过,重跑 126 秒
vivo iQOO V2324HA 原系统 Android 16 七段全通,重跑 2.5 分钟
一加 Ace 2 ColorOS 16.0.5 / Android 16 路径实测,整段约 85 秒
一加 Ace 2 Pro ColorOS 14 / Android 14 6 项商店推广位关闭并回读

机型不在表里也能用。先跑通用检测,找不到入口的步骤会自动跳过,不会乱点。你也可以照 docs/04-给新机型写脚本.md 自己录一份,然后提 PR。

项目地址

常见问题解答

Q:这个工具会影响手机系统更新吗?

A:不会。它不 root、不解锁、不改 system 分区。挂起(pm suspend)只是临时暂停一个 App 的运行,系统更新的接收和安装流程完全不受影响,该更还是更。

Q:会影响手机保修吗?

A:不会。它用到的只是开发者选项里的 USB 调试和系统自带的设置项,没有解锁 bootloader,没有修改系统分区,厂商售后检测不到任何改动痕迹。

Q:关完以后还有广告吗?

A:会剩一部分。浏览器搜索框里的轮播热词系统没给开关;OPPO 软件商店的"开机必备"弹窗在服务管理全关后仍可能弹;国行手机下拉搜索只能用百度,不 root 改不了搜索引擎;部分 App 停在"同意协议"页因为项目不替你同意,没进去就关不到;新装的 App 广告跟踪和营销通知默认是打开的,重跑一次通用部分就行。

Q:系统大版本更新以后需要重新跑一遍吗?

A:建议重跑。大版本更新会把部分开关恢复默认,也可能改设置页的入口位置。重跑前先跑一次 check 命令,看机型脚本版本和当前系统版本对不对得上。

Q:为什么不直接卸载广告 App?

A:国行系统应用不 root 卸不掉。pm disable-user 大多被系统拒绝,少数能停用的停了以后会连带把相关功能搞坏。挂起是可逆的,一条命令就能恢复,所以项目只用挂起,不做不可逆的停用。

Q:挂起哪些包会把正常功能搞坏?

A:项目实测过,com.heytap.quicksearchbox(OPPO 下拉搜索)挂了搜索就打不开,com.coloros.assistantscreen(OPPO 负一屏)挂了卡片全没,这两个不能挂。com.opos.ads(OPPO 广告服务)、com.heytap.pictorial(乐划锁屏)、com.miui.systemAdSolution(小米系统广告)、com.hihonor.quickengine(荣耀快应用引擎)挂了都正常,只是对应广告或锁屏杂志消失。

Q:脚本报"没找到"怎么办?

A:说明你的系统版本和录制机型脚本时不一样,设置页改了名字或位置。三种处理办法:让 AI 照清单单步做完存成新脚本;或者自己照 docs/清单/ 里的图文清单手动关;或者去 Issues 提交,写清楚型号、系统版本、哪一段没找到。

Q:Windows 上客户端认不到手机怎么排查?

A:按顺序查:换一根能传数据的线插电脑后面的 USB 口;手机下拉通知栏把 USB 用途改成"传输文件";开发者选项里关掉再打开 USB 调试,手机弹窗勾"始终允许";荣耀华为再打开"仅充电模式下允许 ADB 调试";装手机品牌的 USB 驱动;关掉电脑上其他手机助手和安卓模拟器,它们会占用连接。

Q:小米手机跑的时候大量报"没找到",中途还会自动锁屏?

A:开发者选项里还要打开"USB 调试(安全设置)"。这一项要插 SIM 卡、登录小米账号。不开它,电脑能读屏幕但发出的点击会被系统拒绝,设置也写不进去,跑一会儿就锁屏。0.2.4 版本开始检测页会先试发一个空按键,被拒就直接提示你去开这一项。

Q:执行到一半报 device not found 是什么情况?

A:手机和电脑的 ADB 连接中途断了。最常见原因是电脑上同时开着应用宝、360 手机助手、豌豆荚、刷机工具或安卓模拟器,它们自带另一个版本的 adb 会互相顶掉连接。也可能是数据线、接口或扩展坞接触不良。把其他手机助手全退了再试。

Q:运行的时候手机能拿来用吗?

A:不能。脚本正在自动点屏幕,你一碰屏幕坐标就乱了。全程保持亮屏、解锁、插线,等它跑完。

Q:vivo 手机提示"这个开关会影响整个 App"是什么意思?

A:vivo 的应用通知总页和单个渠道页是同一个系统页面。总开关"允许通知"一关,整个 App 的通知就全没了,订单、聊天提醒也一起消失。项目不点总开关,只在从总页点进来、顶栏显示渠道名的页面上操作,点完还会回头核对应用总开关没动过。渠道名和 App 名相同时无法区分,会跳过让你手动关。

Q:折叠屏手机跑得动吗?

A:把手机合上用外屏跑。展开后是左右分栏布局、底部有任务栏,引擎会找错位置。0.2.1 开始读屏时会刷新屏幕尺寸,丢掉屏幕外的节点,但折叠屏还是建议合上跑最稳。

Q:运行时会不会把我手机里的数据上传到网上?

A:不会。脚本在你自己电脑上跑,不联网。本地快照存在 backups/ 目录,里面有应用列表和通知记录,别自己传到公开仓库就行。错误日志只在你点"反馈问题"时才发送,而且序列号、手机号、IP 都会被替换掉。

Q:原生鸿蒙手机能用吗?

A:不能。项目目前只操作通过 adb 连接的安卓设备,没有实现原生鸿蒙的 HDC 调试和界面自动化。华为新出的纯血鸿蒙手机装安卓驱动、借荣耀脚本都没用,不要把"荣耀安卓"和"原生鸿蒙"当成同一套系统。

Q:扫描出来没有营销通知渠道,是不是说明手机已经没广告了?

A:不是。它只能扫描 App 已经创建出来的通知渠道,新手机或刚恢复出厂的手机渠道本来就少。App 要先创建渠道才会发通知,创建时机不一定在第一次发通知时。正常用一段时间后再扫一次,数量会变多。

Q:万一出问题了怎么还原?

A:挂起的包跑 python3 tool/run.py -s <序列号> unsuspend 全部解除;营销通知渠道跑 chan-on backups/对应时间目录/channels.tsv 恢复;快应用跑 quickapp on 恢复;App 内部的开关按清单文档路径手动打开。还原需要电脑,开发者模式如果关了要重新打开。没有电脑的话,恢复出厂设置也能解除挂起,但会清空数据,一定要先备份。

总结

android-ad-cleaner 是一个把"国产安卓系统去广告"这件事从纯手动翻设置变成可自动执行、可批量复跑、可一键还原的开源工具。它不追求拦截一切广告,而是老老实实调用系统和厂商 App 自己暴露的开关,把个性化广告、OAID 跟踪、下拉热搜、负一屏资讯、应用商店推广位、各 App 的营销通知渠道和快应用这几类最烦人的系统级推广逐项关掉,同时保留搜索、负一屏卡片、应用商店安装更新、天气预警、快递提醒这些正经功能。

提供桌面客户端、AI 智能体代跑、聊天 AI 引导、手动清单四种用法,覆盖小白和极客两类用户;每一步改动前自动快照,挂起和通知渠道都有对应还原命令,不 root 不刷机不动系统分区,系统更新和保修都不受影响。对受够了国产定制系统弹窗和营销推送、又不想冒 root 风险的普通用户来说,这是目前可见范围内门槛最低、可逆性最强的一条清理路径。

本文为作者原创,首发于神器阁社区。未经授权禁止转载;商业转载请联系作者获得授权,非商业转载请注明出处与原文链接。
神器小编 的头像
神器小编

资源创作者,欢迎关注。

24 资源 0 粉丝
相关推荐
全部评论 0
最热 最新
0/500
还没有评论,来说两句吧