OnmyojiAutoScript项目ADB服务启动问题分析与解决方案

OnmyojiAutoScript项目ADB服务启动问题分析与解决方案

【免费下载链接】OnmyojiAutoScript Onmyoji Auto Script | 阴阳师脚本 【免费下载链接】OnmyojiAutoScript 项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript

问题现象

在OnmyojiAutoScript(OAS)项目使用过程中,用户报告了一个突然出现的ADB服务启动问题。具体表现为:

  1. 通过OASX界面启动时无法进入脚本界面,报错信息显示与ADB相关
  2. 直接通过oas.exe启动可以进入界面,但无法正常运行任务
  3. 日志显示无法识别UI界面,且截图出现异常纵向拉伸现象
  4. 问题出现前系统曾正常工作,重装OAS和OASX后问题依旧存在

技术分析

从日志信息可以看出,问题主要出现在ADB服务和UI识别两个环节:

ADB服务异常

日志显示在启动ADB服务时出现了以下关键信息:

ShellException(python -m deploy.installer, exitCode 1, workingDirectory: H:\ruanjian\yys\oas)

这表明uiautomator2初始化失败,这是导致后续UI识别问题的根本原因。

UI识别失败

当尝试运行DailyTrifles任务时,系统无法识别当前游戏界面:

2024-10-03 20:34:52.327 | game_ui.py:0153 | WARNING | Unknown ui page

系统列出了所有支持的页面类型,但都无法匹配当前界面,导致任务无法启动。

解决方案

方法一:更换截图方式

  1. 进入OAS设置界面
  2. 找到"截图方式"或"Screenshot Method"选项
  3. 尝试切换不同的截图方式,如:
    • DroidCast
    • Minicap
    • ADB原生截图
  4. 每种方式测试后观察是否解决问题

方法二:重置ADB服务

  1. 以管理员权限打开命令提示符(cmd)
  2. 导航到OAS安装目录
  3. 执行以下命令:
    adb kill-server
    adb start-server
    
  4. 重新启动OAS观察问题是否解决

方法三:检查模拟器连接

  1. 确保模拟器已完全启动并进入游戏主界面
  2. 检查ADB连接是否正常:
    adb devices
    

    应显示连接的设备信息

  3. 如果使用网络ADB连接,检查IP和端口是否正确

预防措施

  1. 定期更新OAS到最新版本
  2. 避免同时运行多个ADB服务(如其他安卓工具)
  3. 保持模拟器环境稳定,避免频繁切换分辨率
  4. 重要操作前备份配置文件

技术原理

这个问题涉及Android调试桥(ADB)的工作原理和UI自动化测试的核心机制:

  1. ADB服务:作为OAS与模拟器/设备通信的桥梁,负责传输指令和截图
  2. UIAutomator2:Android官方UI测试框架,用于识别和操作界面元素
  3. 截图服务:不同截图方式各有优缺点,某些环境下特定方式可能失效

当这些组件中的任何一个出现异常,都会导致OAS无法正确识别游戏界面,进而影响自动化任务的执行。

通过理解这些底层原理,用户可以更有针对性地排查和解决类似问题。

【免费下载链接】OnmyojiAutoScript Onmyoji Auto Script | 阴阳师脚本 【免费下载链接】OnmyojiAutoScript 项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值