一个 Android 开屏广告自动跳过工具,全本地运行,不需要联网识别。从快到慢试四层办法,实在不行才动用到本地 AI。
一个 Android 开屏广告自动跳过工具,全本地运行,不需要联网识别。从快到慢试四层办法,实在不行才动用到本地 AI。
Github地址
https://github.com/madeye/ad-skipper

功能特性
- 四层检测,一层不行换下一层:最快的是直接读界面文字找”跳过”;文字读不到就 OCR 截图认字;再不行用内置的 5MB 小模型(YOLO)看图找按钮位置;最后才上一个 1.5GB 的本地视觉大模型兜底
- 全程本地,截图不往外传
- 开屏 8 秒内主动轮询,广告一出来就点,不是傻等通知
- 有 GPU 走 Vulkan 加速,没有就 CPU 硬跑
- 自带测试页,能假装弹个广告看能不能跳过
使用
- 打开 App,按首页引导开启无障碍服务(设置 → 无障碍 → 广告跳过)。
- 默认 L1/L2/L3 全部开启:L3 首先运行内置的 YOLO11n 跳过按钮检测器 (在 2026-08 grounding 基准上 19/20 命中、0 次误点 CTA,超过 1.5GB 级 VLM,见 vlm-bench REPORT),无需下载。 检测器跑在 ncnn 上(Vulkan compute,无 Vulkan / 驱动异常时自动回退 CPU/NEON),模型为 Ultralytics 官方 NCNN 导出(fp16,约 5MB,val 集 mAP50 0.992)。 开屏窗口期(应用会话开始后 8 秒内)由固定节奏轮询驱动:跳过启动过渡的 前 500ms(OEM 启动窗口显示的是上次会话的快照)后每 750ms 跑一遍管线, 命中后下个周期复查、未消失则重试(每会话最多 3 次点击)——开屏广告 往往在启动过渡后才渲染且不发无障碍事件,靠事件驱动会整场错过。 窗口期外仅事件驱动的 L1/L2 关键词层生效,图像层不运行,避免在普通界面误点。 服务同时以前台服务(specialUse 类型 + 常驻静默通知)保活,降低被 OEM 后台清理误杀的概率。
- 可选兜底:「模型」页可下载 VLM 处理 YOLO 未命中的疑难场景。推荐 InternVL3 2B(Q4_K_M + Q8_0 mmproj,约 1.5GB,896px 输入 16/20 命中); 备选 Qwen2.5-VL 3B(约 2.8GB,672px 输入精度相当)。源:ModelScope, 失败自动回退 hf-mirror;也支持手动导入 GGUF + mmproj,选中后自动切换。
- 「设置」页可配置关键词、白名单、调试悬浮窗(命中时显示层级与坐标)。
APK 不内置 VLM(约 52MB,其中 YOLO 检测器约 5MB);VLM 为可选下载项
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 马斯克的赛博空间!
评论




