前言

adb连手机的时候经常会出现offline的情况,一般杀掉adb,然后重启adb可以解决。
如果发现不管怎么重启adb都连不上,一直出现offlie的情况,这个时候很大可能就是adb的5037端口被其它应用占了

offline

1.如果之前一直都能正常连上adb,突然连不上了,可以用adb devices查看手机连接情况

C:\Users\admin>adb devices
List of devices attached
* daemon not running; starting now at tcp:5037
* daemon started successfully
emulator-5554   offline

C:\Users\admin>adb devices
List of devices attached
emulator-5554   offline

2.发现无法连上,出现offline。可以尝试adb kill-server,然后再用adb device查看

C:\Users\admin>adb kill-server

C:\Users\admin>adb devices
List of devices attached
* daemon not running; starting now at tcp:5037
* daemon started successfully
emulator-5554   offline

3.上面各种办法尝试了,都无法解决,接下来就要查看5037端口了

查看端口

1.windows上可以用findstr过滤进程(跟linux上grep指令一样),查询结果看最后一项PID,如果是0那就不用管,那最后就有两个PID占用了5037端口,
分别是6532和7200

netstat -aon|findstr 5037

C:\Users\admin>netstat -aon|findstr 5037
  TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       6532
  TCP    127.0.0.1:5037         127.0.0.1:56975        TIME_WAIT       0
  TCP    127.0.0.1:5037         127.0.0.1:56976        TIME_WAIT       0
  TCP    127.0.0.1:5037         127.0.0.1:56981        ESTABLISHED     6532
  TCP    127.0.0.1:5037         127.0.0.1:56988        TIME_WAIT       0
  TCP    127.0.0.1:5037         127.0.0.1:56990        TIME_WAIT       0
  TCP    127.0.0.1:5037         127.0.0.1:56991        TIME_WAIT       0
  TCP    127.0.0.1:56981        127.0.0.1:5037         ESTABLISHED     7200

2.接下来就行查看PID,看是哪个应用占了

tasklist /fi "PID eq 端口号"

C:\Users\admin>tasklist /fi "PID eq 6532"

映像名称                       PID 会话名              会话#       内存使用
========================= ======== ================ =========== ============
adb.exe                       6532 Console                    1     18,432 K

C:\Users\admin>tasklist /fi "PID eq 7200"

映像名称                       PID 会话名              会话#       内存使用
========================= ======== ================ =========== ============
emulator-arm.exe              7200 Console                    1    884,088 K

3.从结果可以看出,有两个应用占了,一个是adb本身,另外一个是模拟器(emulator-arm.exe),端口发生冲突了,接下来杀掉占用5037端口的进程

taskkill /pid 7200 /f

C:\Users\admin>taskkill /pid 7200
成功: 已终止 PID 为 7200 的进程。

appium+python自动化-adb offline(5037端口被占)的更多相关文章

  1. appium+python自动化40-adb offline(5037端口被占)

    前言 adb连手机的时候经常会出现offline的情况,一般杀掉adb,然后重启adb可以解决. 如果发现不管怎么重启adb都连不上,一直出现offlie的情况,这个时候很大可能就是adb的5037端 ...

  2. appium+python自动化-adb shell模拟点击事件(input tap)

    前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其 ...

  3. appium+python自动化 adb shell按键操作

    前言 接着上篇介绍input里面的按键操作keyevent事件,发送手机上常用的一些按键操作 keyevent 1.keyevent事件有一张对应的表,可以直接发送对应的数字,也可以方式字符串,如下两 ...

  4. appium+python自动化-adb logcat查看日志

    前言 做app测试,遇到异常情况,查看日志是必不可少的,日志如何输出到手机sdcard和电脑的目录呢?这就需要用logcat输出日志了 以下操作是基于windows平台的操作:adb logcat | ...

  5. appium+python自动化-adb文件导入和导出(pull push)

    前言 用手机连电脑的时候,有时候需要把手机(模拟器)上的文件导出到电脑上,或者把电脑的图片导入手机里做测试用,我们可以用第三方的软件管理工具直接复制粘贴,也可以直接通过adb命令导入和导出. adb ...

  6. appium+python自动化-adb shell按键操作(input keyevent)

    前言 接着上篇介绍input里面的按键操作keyevent事件,发送手机上常用的一些按键操作 keyevent 1.keyevent事件有一张对应的表,可以直接发送对应的数字,也可以方式字符串,如下两 ...

  7. appium+python自动化61-中文输入乱码问题解决

    前言 在夜神模拟器上输入中文,发现是乱码,将unicodeKeyboard和resetKeyboard参数设置为True了,发现还是没法解决. 打开手机设置语言和输入法,发现找不到Appium And ...

  8. Appium+python自动化8-Appium Python API

    Appium+python自动化8-AppiumPython API   前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家. 1.contexts conte ...

  9. appium+python自动化52-多点触控MultiAction

    前言 MultiAction是针对多点触控操作的,是TouchAction的一个补充模块 TouchAction用法参考前面的一篇:appium+python自动化33-TouchAction 多点触 ...

随机推荐

  1. Nginx upstream负载均衡配置

    1.在http节点下添加 upstream test {     server 127.0.0.1:16010;     server 127.0.0.1:16011; } 2.把server 节点下 ...

  2. js实现接口的几种方式

    Javascript模仿接口可以有三种方式:1.注释法 2.检查属性法 3.鸭式辨形法 1.注释法:此方法属于程序文档范畴,对接口的继承实现完全依靠程序员自觉 /* interface People{ ...

  3. vue之导入Bootstrap和Jquery

    Vue引入bootstrap主要有两种方法 方法一:在main.js中引入,此方法导入的bootstrap中对于html,body的一些预设置的css样式可能无效. 一.引入jQuery 在当前项目的 ...

  4. uvm_pkg——老板,打包带走

    Thus spake the master programmer: “After three day without programming, life becomes meaningless.” 编 ...

  5. 【NumPy学习指南】day5 改变数组的维度

    我们已经学习了怎样使用reshape函数,现在来学习一下怎样将数组展平. (1) ravel 我们可以用ravel函数完成展平的操作: In: b Out: array([[[ 0, 1, 2, 3] ...

  6. PHP 根据两点的经纬度计算距离

    /** * @name 根据经纬度确定两点的距离[地理位置] * @author tbj * @param float $lat 纬度值 * @param float $lng 经度值 * @date ...

  7. ThreadLocal使用,应用场景,源码实现,内存泄漏

    首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的.各 ...

  8. Ubuntu下Postgres安装与配置

    postgres8.4安装配置:1.安装postgres8.4~$ sudo apt-get install postgresql 2.修改超级管理员postgres密码:以系统用户运行psql~$ ...

  9. 洛谷 P2916 [USACO08NOV]为母牛欢呼Cheering up the Cows

    题目描述 Farmer John has grown so lazy that he no longer wants to continue maintaining the cow paths tha ...

  10. OpenCascade: 获取边的端点

    FirstV = TopExp::FirstVertex(aEdge1); LastV = TopExp::LastVertex(aEdge1);