body { font-family: Arial, sans-serif; line-height: 1.6; margin: 20px }
h1, h2 { color: rgba(51, 51, 51, 1) }
pre { background-color: rgba(244, 244, 244, 1); padding: 10px; border-radius: 5px; overflow-x: auto }
.error { color: rgba(255, 0, 0, 1); font-weight: bold }
.solution { color: rgba(0, 128, 0, 1); font-weight: bold }

OAS使用时的ADB连接错误。

原始错误信息

ERROR        | 19:43:07.855 | FileNotFoundError: [WinError 2] 系统找不到指定的文件。
┌───────────────── Traceback (most recent call last) ─────────────────┐
│ C:\Users\xx\AppData\Roaming\Python\Python310\site-packages\adbu │
│ tils\__init__.py:103 in _safe_connect │
│ │
│ 100 │ │
│ 101 │ def _safe_connect(self): │
│ 102 │ │ try: │
│ > 103 │ │ │ return self._create_socket() │
│ 104 │ │ except ConnectionRefusedError: │
│ 105 │ │ │ subprocess.run([adb_path(), "start-server"], time │
│ enough for adb start │
│ 106 │ │ │ return self._create_socket() │
│ │
│ ┌──────────────────────────── locals ─────────────────────────────┐ │
│ │ self = <adbutils._AdbStreamConnection object at │ │
│ │ 0x000001F72FDB3940> │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ C:\Users\xx\AppData\Roaming\Python\Python310\site-packages\adbu │
│ tils\__init__.py:95 in _create_socket │
│ │
│ 92 │ │ adb_port = self.__port │
│ 93 │ │ s = socket.socket() │
│ 94 │ │ try: │
│ > 95 │ │ │ s.connect((adb_host, adb_port)) │
│ 96 │ │ │ return s │
│ 97 │ │ except: │
│ 98 │ │ │ s.close() │
│ │
│ ┌──────────────────────────── locals ─────────────────────────────┐ │
│ │ adb_host = '127.0.0.1' │ │
│ │ adb_port = 5037 │ │
│ │ s = │ │
│ │ self = <adbutils._AdbStreamConnection object at │ │
│ │ 0x000001F72FDB3940> │ │
│ └─────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
ConnectionRefusedError: [WinError 10061]
由于目标计算机积极拒绝,无法连接。

错误解析

FileNotFoundError

这个错误通常意味着系统无法找到指定的文件。在ADB上下文中,这可能是由于ADB可执行文件未正确安装或其路径未添加到系统的环境变量中。

ConnectionRefusedError

当尝试连接到ADB服务器时,如果服务器没有运行或配置错误,就会抛出此错误。具体来说,当尝试连接到127.0.0.1:5037(默认的ADB服务器地址和端口)时,如果服务器未启动,就会出现“由于目标计算机积极拒绝,无法连接”的错误信息。

解决步骤

1. 安装ADB

  • Windows版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip

2. 手动启动ADB服务

  • 打开CMD,手动启动ADB。
adb start-server
  • 如果一切正常,命令行将返回类似于* daemon started successfully *的消息,表明ADB服务已成功启动。
  • 如果遇到权限问题,可能需要以管理员身份运行命令提示符或终端。

3. 验证ADB服务状态

  • 在ADB服务启动后,可以通过执行以下命令来检查当前连接的设备:
adb devices

结语

解决ADB问题后,脚本设置:截屏使用ADB_nc,控制方式使用ADB,正常使用基本无问题。

OAS常见错误的更多相关文章

  1. 初识JAVA(二)(送给Java和安卓初学者)----常见错误

    博主接着上篇的来讲哦,以后的更新中,博主会出一些练习题,有兴趣的可以做做然后吧代码粘贴到下面,大家可以一起研究学习,一起进步,本篇文章主要讲的是: 一.常见错误 二.连接上篇一起的训练 无论是什么方向 ...

  2. ubuntu 常见错误--Could not get lock /var/lib/dpkg/lock

    ubuntu 常见错误--Could not get lock /var/lib/dpkg/lock 通过终端安装程序sudo apt-get install xxx时出错:E: Could not ...

  3. coreseek常见错误原因及解决方法

    coreseek常见错误原因及解决方法 Coreseek 中文全文检索引擎 Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和 ...

  4. Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误

    嵌套Fragment的使用及常见错误 嵌套Fragments (Nested Fragments), 是在Fragment内部又添加Fragment. 使用时, 主要要依靠宿主Fragment的 ge ...

  5. C语言初学者代码中的常见错误与瑕疵(23)

    见:C语言初学者代码中的常见错误与瑕疵(23)

  6. struts2.5框架使用通配符指定方法常见错误

    struts2.5框架使用通配符指定方法(常见错误) 在学习struts框架时经常会使用到通配符调用方法,如下: <package name="shop" namespace ...

  7. .Net常见错误

    常见错误 #1: 把引用当做值来用,或者反过来 C++ 和其他很多语言的程序员,习惯了给变量赋值的时候,要么赋单纯的值,要么是现有对象的引用.然而,在C# 中,是值还是引用,是由写这个对象的程序员决定 ...

  8. WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭

    在我们开发WCF项目的时候,常常会碰到一些莫名其妙的错误,有时候如果根据它的错误提示信息,一般很难定位到具体的问题所在,而由于WCF服务的特殊性,调试起来也不是那么方便,因此往往会花费不少时间来进行跟 ...

  9. Python程序的常见错误(收集篇)

    关于Python Python是一门解释性的,面向对象的,并具有动态语义的高级编程语言.它高级的内置数据结构,结合其动态类型和动态绑定的特性,使得它在快速应用程序开发(Rapid Applicatio ...

  10. 【ubuntu 】常见错误--Could not get lock /var/lib/dpkg/lock

    ubuntu 常见错误--Could not get lock /var/lib/dpkg/lock 通过终端安装程序sudo apt-get install xxx时出错: E: Could not ...

随机推荐

  1. 利用Linux系统提供的和调度器相关的接口让进程或线程对某个处理器进行绑定

    目录 设置进程与CPU的亲和性 设置线程与CPU的亲和性 设置进程与CPU的亲和性 taskset命令允许你查看或设置运行中的进程的CPU亲和性(即该进程可以在哪些CPU上运行). 要将一个已经运行的 ...

  2. 这是DDD建模最难的部分(其实很简单)

      本文书接上回<为了落地DDD,我是这样"PUA"大家的> ,欢迎关注我的同名公众号. https://mp.weixin.qq.com/s/DjC0FSWY1bgJ ...

  3. Python被远程主机强制关闭后怎么自动重新运行进程

    要实现Python程序在被远程主机强制关闭后能够自动重新运行,我们可以采用几种方法,但最直接且常用的方法之一是结合操作系统级的工具或脚本.在Linux系统中,我们可以使用cron作业或者systemd ...

  4. JAVA——instanceof运算符(问题待处理)

    2024/07/12 1.问题 2.问题拆解 3.解决 1.问题 今天学了一个运算符--instanceof,概念很抽象,感觉暂时理解不了,什么实例对象.类.子类,看得迷迷糊糊的,先记录下来,有空做一 ...

  5. Go 互斥锁 Mutex 源码分析 (一)

    0. 前言 锁作为并发编程中的关键一环,是应该要深入掌握的. 1. 锁 1.1 示例 实现锁很简单,示例如下: var global int func main() { var mu sync.Mut ...

  6. 折腾 Quickwit,Rust 编写的分布式搜索引擎-官方教程

    快速上手 在本快速入门指南中,我们将安装 Quickwit,创建一个索引,添加文档,最后执行搜索查询.本指南中使用的所有 Quickwit 命令都在 CLI 参考文档 中进行了记录. https:// ...

  7. Vite+Vue3 项目 华仔待办

    此"华仔",不是彼"华仔",你懂的! 先来了个截图 紧跟着,实现步骤也来了 1. 安装 Node.js,终端运行 npm create vue@latest,项 ...

  8. ThinkPHP 6 + PHP7.4.3nts +nginx 使用mysql和oracle数据库

    ThinkPHP 6 + PHP7.4.3nts +nginx 使用mysql和oracle数据库. 前言 业务需求,之前使用的php 7.3.4nts ,mysql自己写的代码,需要对接第三方系统, ...

  9. C#使用泛型方法将Datatable转换成List对象集合

    在项目中遇到需要将Datatable转换成对象的需求,通过dr[0]取下标这种获取,如果数据的顺序发生了改变则需要改变全部,工作量大 foreach (DataRow dr in dt.Rows) { ...

  10. JDK有用的新特性-Switch

    目录 箭头表达式,新的 case 标签 yeild 返回值 Java Record Switch 的三个方面,参考: JEP 361 支持箭头表达式 支持 yied 返回值 支持 Java Recor ...