Ad Skipper
Ad Skipper

Ad Skipper最新版

官方版无广告116

Ad Skipper 是一款基于 Android 无障碍服务的开源应用,通过四层本地检测策略自动跳过开屏广告,全程无需联网或上传数据。

更新日期:
2026年8月8日
语言:
中文
平台:

49.7MB1 人已下载 手机查看

Ad Skipper 是一款基于 Android 无障碍服务的开源应用,通过四层本地检测策略自动跳过开屏广告,全程无需联网或上传数据。

Ad Skipper

核心机制为分层降级短路:L1(无障碍文本匹配,<10ms)→ L2(ML Kit中文OCR,~100ms)→ L3a(内置YOLO11n按钮检测,20-300ms)→ L3b(可选VLM Grounding,2-4s),命中即停止后续层级。APK仅52MB(含5MB YOLO模型),VLM需手动下载(推荐InternVL3-2B Q4_K_M约1.5GB)。开屏窗口期(启动后8秒内)采用固定节奏轮询(跳过前500ms过渡期,每750ms检测一次,最多重试3次),窗口期外仅L1/L2事件驱动生效以防误点。服务以前台常驻保活,支持关键词/白名单自定义及调试悬浮窗。

已知限制:FLAG_SECURE页面(如银行App)截图黑屏时仅L1有效;VLM效果依赖模型选择与bbox解析容错。

四层检测架构详解

层级技术栈延迟触发条件优势/局限
L1无障碍节点文本匹配<10ms始终启用最快最省资源;依赖App暴露UI树,Flutter/Unity等无效
L2ML Kit本地中文OCR~100msL1未命中覆盖无UI树场景;纯文字按钮有效,图形化按钮失效
L3aYOLO11n (ncnn Vulkan/CPU)20-300msL2未命中识别倒计时圆环/混淆按钮/纯图按钮;val mAP50=0.992,基准19/20命中0误点CTA
L3bVLM Grounding (llama.cpp)2-4sL3a未命中+用户下载模型兜底疑难场景;精度依赖模型,InternVL3-2B基准16/20命中

关键设计决策

  • 短路执行:高层级仅在低层级失败时激活,避免不必要的算力消耗
  • 轮询vs事件:开屏广告常延迟渲染且不发无障碍事件,固定轮询确保捕获;普通界面切回事件驱动防误触
  • GPU自适应:YOLO优先Vulkan加速,驱动异常自动回退CPU/NEON;超时4s放弃防卡死
  • VLM可选化:APK不内置大模型,用户按需下载,平衡体积与能力

部署配置与模型管理

基础使用

  1. 安装APK → 开启无障碍服务(设置→无障碍→广告跳过)
  2. 默认L1/L2/L3a全开,L3b需手动下载模型
  3. 调试悬浮窗可实时显示命中层级与坐标,验证检测逻辑

VLM模型选择指南

模型大小输入分辨率基准命中适用场景
InternVL3-2B (Q4_K_M)~1.5GB896px16/20首选:最小可用模型,精度足够
Qwen2.5-VL-3B~2.8GB672px≈16/20备选:精度相当但体积更大
自定义GGUF+mmproj可变可变未知高级用户:SAF导入,自动切换

⚠️ 下载源优先级:ModelScope(国内直连)→ hf-mirror(HuggingFace镜像);失败自动回退
⚠️ bbox解析容错:支持0-1 / 0-100 / 0-1000三种归一化格式,适配不同模型输出

YOLO模型替换(开发者)

# 训练/微调后导出NCNN格式
yolo export format=ncnn  # 产出 yolo.ncnn.param + yolo.ncnn.bin
# 替换 core/src/main/assets/ 下同名文件,重新编译APK

当前模型基于2400张合成数据+300张真实负样本微调,val mAP50=0.992;真实场景召回率未系统验证,收集真实截图微调是最高收益改进方向。

已知限制与风险管控

硬性约束

  • FLAG_SECURE黑屏:银行/支付类App禁止截图,L2/L3完全失效,仅L1文本匹配可用
  • NPU未支持:当前仅Vulkan/CPU后端,NPU加速留作未来扩展
  • VLM格式敏感:bbox输出需符合三种归一化之一,非标格式将解析失败
  • OEM后台清理:虽用specialUse前台服务保活,部分厂商仍可能强杀,需手动锁定

安全与隐私保障

  • ✅ 全本地处理:无网络请求、无数据上传、无遥测
  • ✅ 开源可审计:代码透明,模型来源明确(Ultralytics官方导出/ggml-org托管)
  • ✅ 权限最小化:仅需无障碍服务,无存储/相机/位置等敏感权限
  • ⚠️ 代理配置注意:Gradle不读*_PROXY环境变量,需在~/.gradle/gradle.properties单独配置,勿提交仓库

效果优化建议

  • 新装App首次启动时观察调试悬浮窗,确认L3a是否命中;未命中则尝试下载VLM
  • 白名单添加无需跳过的App(如 launcher、系统设置),减少无效检测
  • 关键词列表补充小众App的跳过文案变体(如“关闭广告”“立即进入”)
  • 遇误点立即反馈至Issue,附调试截图与App包名,助力负样本积累

相关软件

FlowFinder

FlowFinder - 最新版

FlowFinder(中文名:流方达)是一款专为 macOS 打造的原生文件管理器,采用 Swift & AppKit 构建用户界面,Rust Core 提供高性能后端引擎,通过 FFI(C ABI)实现跨语言调用。相较于前代 Tauri + React 版本,原生架构带来了 10-30 倍的目录读取性能提升、更低的内存占用,以及与 macOS Finder 一致的视觉和交互体验。