这两年国产安卓手机的广告,已经从系统里长到了每一个角落。负一屏推资讯,应用商店卖推荐位,通知栏隔三差五冒一句「限时福利」,下拉搜索还得塞一排热榜。
今天要聊的 android-ad-cleaner 就是冲这件事来的。
项目介绍
android-ad-cleaner 是一个用来清除国产安卓手机系统上广告的开源软件。

支持 Windows 和 Mac,通过 USB 连接手机,就能自动关闭隐藏的广告开关,无需 root,也不用卸载应用。目前主要针对国产安卓手机,适配情况因机型而异。
广告分六类,各用各的开关。
它将广告分为六种类型:系统广告、热搜和资讯、推广位、营销推送、广告组件、快应用。系统广告和热搜藏在设置页面上,而推广位则在应用商店的「服务管理」里。
营销推送关闭通知渠道,广告组件挂起包,搜索、负一屏卡片、天气预警和快递提醒等都保留。

改之前,OPPO 软件商店首页的轮播、必备、必玩、福利标签全是推广位。
目前支持的机型如下:

营销通知按照渠道关闭,服务类默认保留。
安卓 8.0 以后,通知按渠道管理,一个 App 可以同时有订单、物流、优惠促销好几条。它先扫描全机渠道,挑出营销类候选,实时活动、护眼、赛事、告警等拿不准的默认不勾。
有位机主拿 Redmi K50 实测,扫出四个候选,剔掉一个悬浮窗提醒,关掉三个用了半分钟。

候选渠道默认勾选,服务类要人工取消。
机型脚本,照着屏幕上的字点。
同一个开关,小米叫个性化推荐,OPPO 可能叫服务管理,设置页层级也不同,所以每台机型都有对应脚本。
脚本记录打开哪个 App、点哪些文字、关闭哪些开关。电脑照着操作,认的是界面文字,不依赖屏幕坐标。这让我想起按键精灵,以前是记坐标,现在是认字,系统更新之后对不上就跳过。

执行页只有进度条和实时日志,跑的时候手机不能碰。
挂起广告包,不用卸载。
有的广告是通过独立组件来推送,例如 OPPO 的 com.opos.ads、小米的 com.miui.systemAdSolution。系统应用不 root 就很难卸载,android-ad-cleaner 用系统自带的 pm suspend 来挂起这些广告组件,包还在,但是暂停了。
也不能什么都挂,OPPO 的下拉搜索和负一屏一挂就没了,脚本里直接标了不能碰。

一次完整的处理流程:检测、备份、关渠道、跑脚本、收尾。
先快照再动手,随时能还原。
执行前会保存快照,系统设置、通知渠道、已停用应用和插电常亮的原值都留在 backups 里,方便对比改动。
还原按照类型来,挂起的包用 unsuspend,关闭的渠道用 chan-on。客户端左下角有「还原改动」。
目前存在的问题。
一百四十多个 open issue 里,最多的就是「我的机型能不能用」,机型覆盖还是短板。

系统更新之后设置页面可能会搬家,脚本对不上就会跳过。荣耀平板横屏、小米 OS3 点不到地方的反馈,大概率和这个有关。
怎么安装
可以直接下载客户端。Mac 分为 Apple 芯片和 Intel 两种,Windows 有安装版和免安装版,不需要安装 Python。

打开客户端之后,在手机上开启 USB 调试。不知道在哪里设置?可以按照客户端上的图文教程来操作。
接着用数据线连接电脑,点击「检测」,确认机型和系统版本,再勾选需要清理的广告项目。点击「执行」,工具就会自动操作手机,期间别碰屏幕。完成后记得关闭 USB 调试和开发者模式。

检测页只读,型号、系统版本、机型脚本和广告组件状态一目了然。
不想用客户端,也可以把仓库地址交给 Claude Code、Codex,让它读取 AGENTS.md,按项目说明执行。如果你平时也在折腾各类 AI 工具和模型 API,RouteFast.ai 上有不少现成的模型接入方案可以少走弯路。
这类工具的价值不在广告绝迹,而在于把藏得深的开关一次拨到位。
开源地址:https://github.com/rddmwmddr/android-ad-cleaner
对安卓系统层面的自动化脚本感兴趣的话,Android/iOS 相关开发与工具资源 也值得翻一翻,里面有不少 Kotlin、adb、系统调校相关的内容。