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. 朋友吐槽我为什么这么傻不在源生成器中用string.GetHashCode, 而要用一个不够优化的hash方法

    明明有更好的hash方法 有位朋友对我吐槽前几天我列举的在源生成器的生成db映射实体的优化点 提前生成部分 hashcode 进行比较 所示代码 public static void Generate ...

  2. Flex相册

    有一个项目用到了Flex,于是抽时间用flex与java做了一个相册,并且添加了上传功能,不过暂时没有针对具体的用户进行存储.下面是图片:  

  3. How-many

    #include <bits/stdc++.h> #include <termio.h> #include <unistd.h> typedef long long ...

  4. 八,SpringBoot Web 开发访问静态资源(附+详细源码剖析)

    八,SpringBoot Web 开发访问静态资源(附+详细源码剖析) @ 目录 八,SpringBoot Web 开发访问静态资源(附+详细源码剖析) 1. 基本介绍 2. 快速入门 2.1 准备工 ...

  5. vue3 modifier

    vue3 modifier 是什么? modifier 中文意思为修饰符. 在vue3中主要是体现在v-model上,vue3允许我们添加自定义修饰符. 比如说这样: <template> ...

  6. Angular Material 18+ 高级教程 – Custom Themes for Material Design 3 (自定义主题 Material 3)

    v18 更新重要说明 从 Angular Material v18 开始,默认使用的是 Material 3 Design (简称 M3). 而且是正式版,不再是 experimental previ ...

  7. Nuxt Kit 中的上下文处理

    title: Nuxt Kit 中的上下文处理 date: 2024/9/16 updated: 2024/9/16 author: cmdragon excerpt: Nuxt Kit 提供的上下文 ...

  8. 使用GRUB Multiboot2引导自制操作系统

    使用GRUB Multiboot2引导自制操作系统 前言 之前花了一周时间,从头学习了传统 BIOS 的启动流程.惊讶于背后丰富的技术细节的同时,也感叹 x86 架构那厚重的历史包袱.毕竟,谁能想到, ...

  9. excel江湖异闻录--华麒麟

    认识他应该是在18.19年左右,那时就感觉这也是个高手,同大部分的高手一样,痴迷函数,热衷创造.挑战不规范的数据. 后来他消失了好长一段时间,群里的同学都以为他退圈了,偶有少数的同学想起他,言语都带着 ...

  10. USB configfs与USB functionfs的区别及关系

    configfs 和 functionfs 是 Linux 内核中用于配置和管理 USB 设备行为的两种不同的文件系统,它们各自的用途和工作方式有所不同,但在 USB Gadget 子系统中可以结合使 ...