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,正常使用基本无问题。
标签:socket,错误,self,常见,adb,ADB,OAS,port From: https://www.cnblogs.com/CodeByte2002/p/18450533