使用 Qwen3-Coder 大型语言模型辅助,从零开始开发一个针对“汽水音乐”App的广告自动点击器的全过程。该工具基于 Python,利用 OpenCV 进行图像识别,并通过 ADB (Android Debug Bridge) 控制 Android 手机,实现自动化处理 App 内的广告弹窗(如“领取成功”和“领取奖励”)。文章详细阐述了开发环境搭建、核心代码实现、调试优化以及最终效果展示,旨在为有类似需求的开发者提供参考。
关键词

Qwen3-Coder, Python, OpenCV, ADB, 自动化脚本, 汽水音乐, 广告点击器

1. 引言

在使用许多免费的手机应用时,频繁的广告弹窗会严重影响用户体验。为了提升使用“汽水音乐”App时的便捷性,笔者尝试开发一个自动化工具,用于自动识别并关闭特定的广告弹窗。得益于 Qwen3-Coder 的强大代码生成与解释能力,整个开发过程变得高效且直观。本文将分享从构思到实现的完整步骤。

2. 开发环境与工具
  • 操作系统 : Windows 10
  • 编程语言 : Python 3.12
  • 手机系统 : 澎湃OS
  • 主要库 :
    • opencv-python: 用于图像处理和模板匹配。
    • numpy: 提供强大的数组运算支持。
    • pyautogui (文中未实际使用其点击功能,但提及): 用于桌面自动化(最终使用 ADB 实现手机点击)。
  • 辅助工具 :
    • ADB (Android Debug Bridge) : 用于电脑与 Android 手机通信,执行截图和点击操作。
    • VS Code : 代码编辑器。
    • 画图工具 : 用于截取模板图片。
3. 需求分析

目标是创建一个脚本,能够:

  1. 监控手机屏幕 : 定期获取手机屏幕截图。
  2. 识别特定元素 :
    • 识别屏幕右上角的“领取成功 ×”提示。
    • 识别页面中央的“领取奖励”按钮。
  3. 执行自动化操作 :
    • 当仅出现“领取成功”时,自动点击其右侧的关闭“×”按钮。
    • 当出现“领取奖励”按钮时(即使同时有“领取成功”),优先点击“领取奖励”按钮以触发广告流程。
  4. 运行环境 : 脚本在 Windows 电脑上运行,通过 USB 数据线控制已开启 USB 调试的小米手机。
4. 实现步骤
4.1 环境准备与手机连接
  • 安装 Python 及所需库 (pip install opencv-python numpy)。
  • 下载并配置 ADB 工具,将其路径添加到系统环境变量中。
  • 在小米手机上开启“开发者选项”和“USB 调试”。
  • 通过 USB 数据线连接手机与电脑,在手机上授权电脑的 ADB 调试请求。
  • 在命令行中运行 adb devices 验证连接状态。
4.2 准备模板图片
  • 在“汽水音乐”App中触发目标广告弹窗。
  • 使用手机截图功能获取屏幕截图。
  • 使用 Windows 自带的“画图”工具,从截图中精确截取“领取成功 ×”和“领取奖励”按钮的区域。
  • 将截取的图片分别保存为 success_close.pngreward_button.png,并放置于项目根目录下。
4.3 核心代码开发 (由 Qwen3-Coder 辅助生成)
  • 创建 main.py 文件 :
    • 初始化 : 加载模板图片。
    • 屏幕截图 : 使用 subprocess 调用 adb shell screencapadb pull 命令获取并拉取手机屏幕截图到本地。
    • 图像识别 : 利用 cv2.matchTemplatecv2.TM_CCOEFF_NORMED 方法进行模板匹配,查找模板在当前屏幕截图中的位置。
    • 点击操作 : 使用 subprocess 调用 adb shell input tap x y 命令在手机屏幕上指定坐标进行点击。
    • 逻辑处理 :
      • 优先检查是否存在“领取奖励”按钮。如果找到,则计算按钮中心坐标并点击,然后等待一段时间加载广告。
      • 如果未找到“领取奖励”,则检查是否存在“领取成功”。如果找到,则计算其右侧关闭按钮的坐标(通过模板右边缘坐标加上一个偏移量)并点击。
      • 设置循环和延时,持续监控屏幕。
4.4 调试与优化
  • 运行脚本 : python main.py 启动监控。
  • 观察日志 : 通过打印的日志确认是否能正确识别目标元素及其坐标。
  • 调整参数 :
    • 若识别不准确,可调整模板匹配的 threshold 阈值。
    • 若点击位置不准确,需调整计算点击坐标的偏移量(如“领取成功”模板宽度 + X像素)。
    • 根据实际广告加载时间,调整点击后的 time.sleep() 时长。
5. 运行效果

脚本成功运行后,能够:

  • 准确识别“汽水音乐”App中的“领取成功 ×”弹窗,并自动点击关闭按钮。
  • 准确识别“领取奖励”按钮,并优先点击以触发广告流程。
  • 在有线连接状态下,稳定地执行自动化任务,显著减少了手动关闭广告的操作。
6. 局限性与注意事项 :
  • 本工具目前仅针对“汽水音乐”App 中特定的“领取成功”和“领取奖励”弹窗进行了适配。
  • 如果出现了其他需要关闭的界面,或者脚本行为触发了自动打开抖音等其他 App 的情况,则需要用户手动进行操作。 当前版本并未处理这些复杂或意外场景。

v1.1 升级:打包为 Windows 可执行文件 (.exe)

在上一版本的基础上,为了让工具更易于分发和使用,我们进行了重要的升级:将 Python 脚本打包成了独立的 Windows 可执行文件。

升级内容
  1. 资源路径优化:

    • 修正了代码中加载图片资源的路径问题,确保程序在打包成 .exe 后仍能正确找到 success_close.pngreward_button.png 等必需的模板文件。这通过使用 PyInstaller 推荐的 sys._MEIPASS 方法实现。
  2. 界面微调:

    • 对 GUI 界面进行了一些细微的美化,包括调整字体、颜色和布局,使其看起来更加现代和专业。
  3. 启动速度优化与后台初始化:

    • 将初始化时的 ADB 连接检查移至后台线程执行,使得程序主窗口能够更快地显示出来,提升了用户体验。
    • 优化了程序启动逻辑,确保在缺少可选依赖(如 Tesseract-OCR)时也能正常启动和运行核心功能。
  4. PyInstaller 打包 (使用 .spec 文件):

    • 使用 PyInstaller 工具将整个 Python 项目(包括代码和依赖库)打包成了可以在未安装 Python 环境的 Windows 电脑上直接运行的程序。
    • 采用 .spec 文件方式进行打包:通过自定义的 .spec 配置文件,精确控制打包过程,包括资源文件的包含和可执行文件的属性(如关闭控制台窗口)。
  5. 分发形式:

    • 单文件形式 (--onefile): 本次发布的版本采用单文件形式。生成一个单独的 .exe 文件,将所有内容都打包在内。这种方式极大地简化了分发(只有一个文件),用户下载解压后即可运行。
如何使用打包版本
  1. 下载:
    • 本文下方提供了打包好的版本下载链接:
      • 汽水音乐广告点击器_v1.1_onefile.zip (单文件形式)
  2. 解压:
    • 下载后,请将 汽水音乐广告点击器_v1.1_onefile.zip 文件解压到一个你知道的目录下。
  3. 运行:
    • 进入解压后的文件夹,直接双击 汽水音乐广告点击器.exe 即可运行。
  4. 前置条件:
    • 目标电脑上都必须正确安装并配置好 ADB (Android Debug Bridge),并且需要连接的 Android 手机已开启 USB 调试。打包版本不包含 ADB 程序本身。
    • (可选,用于 OCR 功能) 如果需要使用程序的 OCR 文字识别功能来关闭更多类型的弹窗,需要在目标电脑上安装 Tesseract-OCR,并确保其 tessdata 文件夹路径正确(通常安装程序会自动配置)。

V1.3版本升级内容

主要更新内容

v1.3 版本 专注于提升用户体验和程序的独立性,主要解决了 v1.1 版本 中存在的一个关键问题:

  • 修复了运行时弹出 DOS 黑窗口的问题:在 v1.1 版本中,当程序执行 ADB 命令(如截图、点击)时,可能会短暂弹出黑色的命令行窗口,影响使用体验。v1.3 版本通过技术手段彻底隐藏了这些由 ADB 子进程产生的窗口,实现了真正的“静默”运行。
v1.3 版本特性
  1. 无黑窗口运行:启动和运行程序时,不再出现任何 DOS 控制台窗口,界面更干净。
  2. 独立单文件:生成的 .exe 文件包含了所有必要的资源(如图片模板、ADB 工具等),真正做到开箱即用。
  3. 绿色便携:可以将 .exe 文件单独复制到任何目录(如桌面、D盘等)运行,无需担心依赖或资源文件路径问题。
  4. 兼容性:继承了 v1.1 的所有功能,包括准确识别、自动点击、后台 ADB 检查等。
使用方法

与 v1.1 版本相同:

  1. 确保手机已开启 USB 调试 并连接到电脑。
  2. 下载 v1.3 版本 的独立 .exe 文件。
  3. .exe 文件放到任意你喜欢的目录下。
  4. 双击运行 .exe 文件。
  5. 点击程序界面上的 “开始运行” 按钮,程序即开始自动监控和点击广告。
总结

v1.3 版本是一个重要的优化版本,主要提升了程序的 静默性和独立性。对于追求无干扰体验的用户,v1.3 是 v1.1 的理想升级。

Logo

更多推荐