android-ad-cleaner:android免 Root 批量关闭系统开屏与营销推送

如果你用的是小米、OPPO、vivo 或荣耀等国产安卓手机,大概率每天都要面对这样的日常:解锁先看三秒应用开屏广告,下拉通知栏混着"猜你喜欢",负一屏塞满热搜榜单,天气 App 里还夹着购物节推送。这些广告并非无法关闭,只是开关分散在几十层菜单里,找全它们的成本高到大多数人选择放弃。android-ad-cleaner 做的事情很直接:把这些开关整理成机器可读的规则清单,让人------或者 AI Agent------照着清单批量执行。不 Root、不刷机、一条命令即可还原。

核心信息速览

项目 详情
项目名称 android-ad-cleaner
GitHub 仓库 https://github.com/rddmwmddr/android-ad-cleaner
开源协议 MIT License
GitHub Star 约 3.2k--4.8k(2026 年 10 月开源后数日内飙升,不同源快照存在差异)
项目定位 国产安卓系统广告、热搜、资讯推荐、营销推送的批量关闭工具
支持系统 HyperOS、ColorOS、OriginOS、MagicOS 等主流国产定制安卓
核心机制 ADB + 机型规则脚本(基于 uiautomator2),只拨动系统和 App 官方暴露的开关
是否 Root ❌ 不需要,不解锁 Bootloader、不刷机、不改 system 分区
是否可还原 ✅ 全部操作可逆,支持快照备份与一键恢复
AI Agent 支持 ✅ 内置 AGENTS.md,Claude Code、Codex、Cursor 等可读指令自动执行
桌面客户端 Windows / macOS,v0.2.5(2026-10-27),无需 Python 或 AI 工具
暂不支持 原生鸿蒙(HDC 协议)

一、它解决的不是"广告太多",是"开关太散"

国产安卓的系统广告有一个结构性特征:单个开关关掉就能永久生效,但你需要先找到它。

天气 App 的"内容与营销"推送、应用商店的"轮播与开屏"、负一屏的"热搜榜单"、锁屏的"资讯推荐"------这些开关分布在系统设置、厂商 App 内部设置以及每个 App 自己的通知管理页里。手动逐个关闭,需要像寻宝一样在几十个菜单路径中反复摸索,而且换一台手机、换一个系统小版本,路径可能又变了。

android-ad-cleaner 的切入点不是发明新的广告拦截技术,而是把"找到并关闭开关"这件事标准化、脚本化、可复用。它维护一份按品牌和机型组织好的规则清单,通过 ADB 连接手机后,自动遍历设置界面、定位开关、代为拨动。用户要做的事情被压缩成两步:连上手机,执行命令(或交给 AI Agent)。

二、技术架构:ADB + 规则脚本 + AI Agent 调度

2.1 执行引擎:ADB + uiautomator2

项目的全流程通过 ADB 完成,核心引擎位于 tool/fast.py,基于 uiautomator2 ------ 一个通过 ADB 驱动 Android UI 自动化的 Python 库。它读取当前屏幕、定位设置页的入口按钮、执行点击和开关操作。

机型规则脚本 (recipes/<品牌>-<型号>/recipe.py)是这一层的核心资产。每个机型一份脚本,记录该机型上各个广告开关的准确路径。如果脚本找不到某个入口(比如系统小版本更新导致菜单变了),引擎会跳过该步骤并给出提示,而不是在屏幕上乱点。

2.2 处理策略:关闭开关优先,挂起组件兜底

项目处理广告的方式分为三层,按侵入性从低到高排列:

策略 实现方式 适用场景
拨动官方开关 通过 UI 自动化进入设置页,关闭广告/营销/推荐相关的官方开关 大多数系统广告、营销推送
按通知渠道关闭 针对特定 App 的通知渠道(如天气应用的"内容与营销"),保留必要通知(如天气预警) 通知栏营销推送
挂起广告 SDK 包 使用 pm suspend 挂起广告 SDK 包(如 com.opos.ads、com.miui.systemAdSolution),执行前需机主确认 嵌入系统层的广告组件

关键设计原则 :项目不使用 pm uninstall 或 pm disable-user 来卸载/停用系统应用。所有操作都是对系统本就提供的开关和接口的调用,因此不破坏保修、不引入 Root 级别的安全风险、可随时还原。

2.3 安全与可还原:快照备份 + 幂等操作

执行任何修改之前,项目会先进行只读检查和快照备份 。每一步关闭操作都有对应的恢复操作(pm enable、重新打开开关等),确保"后悔药"始终存在。这种"幂等且可逆"的设计,是它区别于传统"卸载/冻结"类工具的核心差异。

2.4 AI Agent 层:让 Claude Code 或 Codex 替你跑流程

这是项目最具差异化的设计。仓库根目录提供了一份 AGENTS.md,把完整的执行流程(检查、备份、按机型脚本执行、验证)写成 AI 编程智能体可以读取和执行的指令。

用户只需要对支持本地命令执行的 AI 工具(如 Claude Code、Codex、Cursor、Trae 等)说一句:

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

AI 就会自动完成克隆仓库、安装依赖(adb、uiautomator2)、识别机型、按规则执行的全流程。有脚本覆盖的机型,全程约 4--6 分钟。

三、核心机制:开屏广告是怎么被处理的

用户提到的"开屏广告",在项目的处理框架中通常涉及两类操作:

  1. 应用内开屏广告 :多数来自 App 内嵌的广告 SDK。项目通过挂起对应的广告 SDK 包(如 com.opos.ads)来阻断其加载,执行前会征得机主确认。
  2. 系统级开屏/营销位:如应用商店的轮播开屏、系统浏览器的启动页等,通过关闭厂商 App 内的"营销/推广"开关来处理。

需要明确的是,这不等同于全局广告拦截(如 DNS 过滤或 VPN 级拦截) 。它只处理那些系统或厂商 App 自身提供了关闭开关的广告位。对于第三方 App 完全依赖自身逻辑、不依赖可挂起 SDK 的开屏广告,这个工具的覆盖能力取决于该 App 是否暴露了可操作的开关。

四、安装与使用

4.1 前置条件

条件 说明
手机系统 Android(非原生鸿蒙),主流国产定制系统
开发者模式 设置 → 关于本机 → 连续点击"版本号"7 次
USB 调试 开发者选项中打开"USB 调试",连接电脑后允许授权
电脑端 Windows 10/11 或 macOS,安装 ADB 工具(桌面客户端已内嵌)

4.2 方式一:桌面客户端(无需命令行,推荐非开发者)

从 GitHub Releases 下载对应版本:

  • Windows :安装版 .exe 或免安装 .zip
  • macOS :Apple Silicon(M1+).dmg 或 Intel .dmg

插上手机,打开客户端,按界面提示执行检查、备份和清理。不需要 Python,也不需要 AI 工具。

4.3 方式二:AI Agent 一键执行

对 Claude Code、Codex、Cursor 等支持本地命令的 AI 工具发送上文那句指令,AI 会按 AGENTS.md 的标准流程自动完成。

4.4 方式三:命令行手动执行(开发者)

bash 复制代码
git clone https://github.com/rddmwmddr/android-ad-cleaner.git
cd android-ad-cleaner

# 1. 只读检查(锁屏状态、机型脚本匹配、广告包状态)
python tool/run.py check

# 2. 备份快照(修改前必须执行)
python tool/run.py backup

# 3. 按机型规则执行清理
python tool/run.py recipe

五、客观边界:它能做什么,不能做什么

  1. 覆盖率取决于机型脚本的维护程度 。项目采用"每个机型一份脚本"的策略,这意味着新机型或系统小版本更新后,脚本可能尚未覆盖。官方实测覆盖的机型包括荣耀 PNM-AN10(MagicOS 10)、小米 18 Pro Max(HyperOS 4.0.24)等,部分 OPPO、vivo 机型脚本仍待真机复测。不在清单中的机型,脚本会跳过找不到的步骤,而不是强行操作。
  2. 它不是全局广告拦截器 。它处理的是系统和厂商 App 自身提供了关闭开关的广告位。对于完全依赖第三方 App 内部逻辑、没有暴露可操作开关的开屏广告,它的直接干预能力有限。挂起广告 SDK 包是一种兜底手段,但并非所有 App 的广告 SDK 都可被安全挂起。
  3. AI Agent 模式依赖模型对指令的遵循 。AGENTS.md 提供了标准流程,但 AI 在实际执行中是否严格遵循每一步(尤其是"修改前告知"和"备份先行"),取决于所用模型和工具的可靠性。对于不熟悉命令行的用户,桌面客户端是更可控的选择。
  4. 原生鸿蒙暂不支持。项目明确仅支持通过 ADB 连接的安卓设备,使用 HDC 协议的原生鸿蒙设备无法使用。
  5. 效果因系统版本而异 。国产定制系统的小版本更新可能改变设置页的布局和文案,导致现有脚本的某些步骤失效。项目会跳过失效步骤并提示,但这意味着清理可能不完整,需要等待脚本更新或手动补充。

六、小结

android-ad-cleaner 的核心价值不在于"拦截广告",而在于把"找到并关闭广告开关"这件分散、繁琐、不可复用的手工活,变成了结构化、可脚本化、可交给 AI 执行的工程任务。它不 Root、不刷机、不改系统,只调用系统本就提供的开关,因此风险边界清晰、还原路径明确。

它的适用场景很具体:国产安卓手机用户,被系统级广告、热搜、营销推送困扰,愿意花几分钟连接电脑执行一次批量关闭。对于有脚本覆盖的机型,效果直接且可逆;对于脚本未覆盖的新机型,它提供了一个可扩展的框架,等待社区补充规则。它不是万能广告拦截器,但在"系统广告开关批量化"这个细分需求上,目前开源生态中没有更系统的替代品。

附录:资源列表

类型 资源 说明
📦 快速下载 点击下载 win版和mac版桌面客户端 v0.2.5
✅ GitHub 仓库 https://github.com/rddmwmddr/android-ad-cleaner MIT License
📄 AGENTS.md 仓库根目录 AI Agent 执行指令
📄 机型脚本目录 recipes/<品牌>-<型号>/recipe.py 按机型组织的规则
📄 错误日志上报说明 docs/12-错误日志上报.md 隐私处理与 90 天保留策略
📄 社区问题处理记录 docs/09-社区问题处理.md 已知 Issue 的修复范围

本文为原创内容,转载请注明来源与作者。

CSDN 首发 | 版权所有 © 2026


📢 免责声明与版权说明

1. 版权归属

本文提及的开源软件、第三方工具、代码片段、网盘资源及教程合集,其版权均归原作者或开源社区所有。本人仅出于技术分享与评测目的进行整理与推荐,不拥有相关内容的版权。

2. 仅供学习交流,严禁商用

本文提供的任何资源(包括但不限于软件安装包、教程、素材等)均来源于公开互联网渠道,仅供个人学习、研究与技术交流 。严禁将本资源用于任何形式的商业牟利、二次售卖或非法传播。如需在商业环境中使用,请务必前往官方渠道购买正版授权。支持正版,是技术生态良性发展的基石。

3. 技术风险自行承担

文中涉及的软件、脚本及代码均在特定测试环境下验证。由于每位读者的设备硬件、操作系统及网络环境存在差异,因参考本文内容进行操作而导致的任何系统崩溃、数据丢失、硬件损坏或安全事故,由使用者自行承担全部风险 ,作者不承担任何连带法律及经济责任。操作前请务必做好重要数据的备份工作。

4. 侵权处理机制(避风港原则)

本人极其尊重原创与知识产权。若本文内容(包括文字、图片、附件链接等)无意中侵犯了您的合法权益,请务必通过 CSDN 站内私信或文末留言联系我,并提供您的身份证明及版权权属证明。核实无误后,我将在第一时间删除相关内容并致歉。

📢 免责声明与版权说明

1. 版权归属

本文提及的开源软件、第三方工具、代码片段、网盘资源及教程合集,其版权均归原作者或开源社区所有。本人仅出于技术分享与评测目的进行整理与推荐,不拥有相关内容的版权。

2. 仅供学习交流,严禁商用

本文提供的任何资源(包括但不限于软件安装包、教程、素材等)均来源于公开互联网渠道,仅供个人学习、研究与技术交流 。严禁将本资源用于任何形式的商业牟利、二次售卖或非法传播。如需在商业环境中使用,请务必前往官方渠道购买正版授权。支持正版,是技术生态良性发展的基石。

3. 技术风险自行承担

文中涉及的软件、脚本及代码均在特定测试环境下验证。由于每位读者的设备硬件、操作系统及网络环境存在差异,因参考本文内容进行操作而导致的任何系统崩溃、数据丢失、硬件损坏或安全事故,由使用者自行承担全部风险 ,作者不承担任何连带法律及经济责任。操作前请务必做好重要数据的备份工作。

4. 侵权处理机制(避风港原则)

本人极其尊重原创与知识产权。若本文内容(包括文字、图片、附件链接等)无意中侵犯了您的合法权益,请务必通过 CSDN 站内私信或文末留言联系我,并提供您的身份证明及版权权属证明。核实无误后,我将在第一时间删除相关内容并致歉。


相关推荐
深圳雨林凯AI37 分钟前
图案裂变的底色衰减:alpha通道、亮度对比与白墨分色的量化拆解
android
mmsx1 小时前
Android 模块化收口:能力组合框架、手写 LifecycleOwner 与热修复共存
android
恋猫de小郭3 小时前
Flutter 可以更直接地调用原生 API 了,Dart Direct Native Interop
android·前端·flutter
2501_916008893 小时前
iPhone 设备信息查看,用 KeyMob 看型号、序列号、电池健康和 UDID
android·ios·小程序·https·uni-app·iphone·webview
好的佩奇14 小时前
蓝牙之通信架构
android·flutter·蓝牙
FlightYe14 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
诸神黄昏EX15 小时前
Android fw BatteryService
android
alexhilton15 小时前
提升 Android Compose 页面的流畅度
android·kotlin·android jetpack