IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 连接appium_desktop失败的多个问题(坑)的原因及解决办法 -> 正文阅读

[移动开发]连接appium_desktop失败的多个问题(坑)的原因及解决办法

简要说明

错误1: Could not find a connected Android device,按下面原理说明,检查5037端口
错误2:adb 提示adb server version(31) doesn’t match this client(41),首先检查下面第3点提到的Remote path是否是空白的,要改为 /wd/hub,第二:用nox_adb.exe 替换 adb.exe,参考下面特别说明。

根据观察得到的连接原理

  • 原理:模拟器启动后自动产生5037端口本地监听连接(LISTENING),appium_sevrice则通过这个监听端口进行远程连接(ESTABLISHED)和命令发送,inspector则负责发送命令给appium_service。
  • 查看方式:打开cmd窗口,输入 netstat -ano|findstr “5037” 命令,可以查找5037对应的端口号的进程id 也就是pid,可以看到哪些进程使用了5037端口。通过命令 tasklist |findstr “XX”(XX是PID) 或 任务管理器-详细信息-PID中可以查看到具体应用名称。
  1. 启动夜神模拟器,模拟器就会自动调用其自身目录下的nox_adb.exe,并监听端口5037,这个非常重要,否则无法和appium服务连接,如果出现连接错误,比如 Could not find a connected Android device 错误,请特别注意这个进程是否存在,如果没有则重启模拟器,模拟器会自动调用nox_adb.exe启动在5037端口的监听。
    在这里插入图片描述
  2. 启动appium_desktop,等待响应,5037端口不会有变化。在这里插入图片描述
  3. 运行Appium Inspector.exe,正常启动连接后的情况应该是:nox_adb.exe(进程PID不变还是18472) 会再产生两个“本地IP+端口随机”的远程连接(如下面的51131和51194远程端口),同时SDK目录(androidsdk\platform-tools)下的adb.exe开始工作,产生两个“本地IP+对应上面两个随机端口”的进程(如下面PID为19612和19628的进程),而这两个进程远程连接的端口正是5037,模拟器和appium就可以通信了。
    在这里插入图片描述

可能需要替换adb.exe的说明:

如果连接仍有问题,请将模拟器中的nox_adb.exe复制到sdk目录中替换掉原始的adb.exe(原始的可以改名备份留着),以保持模拟器和Inspector中的adb.exe的一致。
在这里插入图片描述在这里插入图片描述

关于几个端口的解释:

appium连接模拟器或手机过程中关联到包括 62001、4723、5037 的3个端口,他们之间的关系是什么?

  • 62001:这个是夜神模拟器的主机+端口(主机:127.0.0.1,端口62001),其他模拟器各自有各自的默认端口,但如果是使用了模拟器多开,这个默认端口是会变化的,具体的查看模拟器端口的方法,可以参考:如何查看夜神模拟器的端口号
  • 4723:这个是appium_service默认主机+端口(主机:0.0.0.0,端口4723),inspector是通过这个端口和appium_service通信。
  • 5037:夜神模拟器提供给appium_service通信主机+端口(主机:127.0.0.1,端口:5037),这个端口在启动appium inspector.exe后由模拟器自动产生,从下面的appium_service日志可以看到大量adb.exe -s 的操作(命令定向),就是服务器将inspector的命令通过5037端口定向到模拟器。在这里插入图片描述
    在这里插入图片描述
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 23:19:35  更:2022-04-06 23:21:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 22:11:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码