http://www.511yj.com/eyuan-adb-emulator.html

很多安装模拟器都带了adb.exe,有的是在根目录,有的四在tool下,有的改了名字,比如夜神安装模拟器就把adb.exe改成了nox_adb.exe,而逍遥安卓和雷电安卓模拟器都保留android-sdk中的adb.exe,但我们比较的时候,这些adb.exe明显大小不一样,也就是说在开发安卓模拟器时二次封装了adb.exe.
错误描述

当我们运行安卓模拟器时,除了启动自身进程外,都会启动adb.exe,比如当我们启动雷电模拟器时,系统进程里会出现adb.exe和dnplayer.exe两个进程。

这时候我再运行

> adb devices
就会返回
List of devices attached
emulator-5554   device
127.0.0.1:5555  offline

明明开了一个模拟器,为何返回一个连接不上的127.0.0.1:5555 ?当我们测试逍遥安卓时就不会出现,只出现在雷电模拟器上。
错误分析

1、 adb 启动就连接5555端口
启动 adb 的时候, adb 通过 “adb fork-server server” 启动 adb demon
而后demon 就会去找本地的 5555 端口, 直到 5555+32
2、为何连接叫 emulator-5554 而不是 emulator-5555
为何连接上就叫 emulator, 这是因为 adb 期望自动为用户连接本机的emulator ( 可以多达16个)
这是因为缺省emulator的 console 端口是 5554 ( 应该可以用 telnet 连接与 emulator 交互(还没有试验)) , 而adb 的端口是console端口 +1 就是 5555
所以当有程序监听 5555 端口, 会被 adb 认为是 emulator
解决办法:

总思路很简单,先杀死adb.exe进程,再次启动adb.exe.
结束adb.exe进程的办法
一)通过cmd命令结束占用端口进程。

1、5037为adb默认端口
2、查看占用端口的进程PID

> netstat -aon|findstr 5037TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       15448

3、通过PID查看所有进程

> tasklist /fi "PID eq 15448"映像名称                       PID 会话名              会话#       内存使用
========================= ======== ================ =========== ============
adb.exe                      15448 Console                    1      5,728 K

4、杀死占用端口的进程

> taskkill /pid 15448 /f

成功: 已终止 PID 为 15448 的进程。

二)使用api(TerminateProcess)结束进程(adb.exe)

缺点:5037的端口未必是adb.exe占用。比如酷狗,360,电脑管家,很多软件都集成了手机助手,也就是说,启动这些软件的时候,可能就启动了adb,exe,进程名称未必是adb,exe,
三)最佳解决方案

其实,我们在adb模块第三课,adb初始化里,已经通过 adb kill-server和adb start-server处理了这个问题,那么这样独开一个雷电模拟器的时候,返回的是

127.0.0.1:5555 device

其实这也是成功的,这就是第一个模拟器,如果我们先接受了雷电模拟器自启动的adb.exe进程,再次启动adb.exe时,这时候返回的就是

emulator-5554 device

那么我们如何处理这个问题,到底那个最好,在模块初始化中,可以都加上,这样万无一失。

雷电模拟器adb devices返回127.0.0.1:5555 offline分析和解决办法相关推荐

  1. 【adb命令】通过电脑连接手机,输入adb devices命令报错error: cannot connect to daemon的解决办法

    [前提条件]想要通过电脑连接手机:手机用数据线连接上电脑,选择传输文件模式:打开手机的开发者模式,开启USB调试 [操作步骤]在CMD里面输入adb devices [报错信息]            ...

  2. JavaScript中的ParseInt(08)和“09”返回0的原因分析及解决办法

    今天在程序中出现一个bugger ,调试了好久,最后才发现,原来是这个问题. 做了一个实验: alert(parseInt("01")),当这个里面的值为01====>07时 ...

  3. 〖Linux〗Debian 7.1.0 Wheezy使用ltib报错的解决办法

    报错内容: scue@Link:/home/work/ltib$ ./ltib Processing platform: Phytec 3250 board with the NXP LPC32XX ...

  4. totolink服务器未响应,TOTOLINK 路由器 192.168.0.1登录页面打不开解决办法

    TOTOLINK 路由器 192.168.0.1登录页面打不开解决办法 2016-12-15 1.正确设置电脑IP地址:电脑连接路由器上网.用电脑设置路由器时,都需要把电脑本地连接(以太网)中的IP地 ...

  5. 对于“优盘变成了RAW的文件系统,双击提示需要格式化,右键查看属性是0字节,也无法打开”的解决办法

    对于"优盘变成了RAW的文件系统,双击提示需要格式化,右键查看属性是0字节,也无法打开"的解决办法 现象分析: 前几天我的优盘在学校机房的电脑上使用了一下,不知怎的文件复制到一半的 ...

  6. Redis 4.0.X版本reshard出现错误的解决办法

    原文链接:https://my.oschina.net/juluking/blog/1606222 原作者的版本是Redis 4.0.6,我的版本是4.0.8,所以猜测是否所有4.0.x版本都有此问题 ...

  7. AndroidStudio3.0无法打开Android Device Monitor的解决办法(An error has occurred on Android Device Monitor)...

    ---恢复内容开始--- 打开monitor时出现 An error has occurred. See the log file... ------------------------------- ...

  8. Server Tomcat v7.0 Server at localhost failed to start.解决办法(图文详解)

    问题描述 Server Tomcat v7.0 Server at localhost failed to start. 解决办法 把你工作空间文件夹下的如下路径打开: <workspace-d ...

  9. ASP.NET 2.0中的Session状态丢失的解决办法

    ASP.NET 2.0引进了不让脚本使用的HttpOnly的cookie,,通过客户端脚本执行的某些操作可能会使session丢失. 解决办法:在global.asax中设置HttpOnly属性为Fa ...

最新文章

  1. 如何快速清理docker资源
  2. mate30pro什么时候可以升级鸿蒙,mate 30pro什么时候能装鸿蒙系统?
  3. 求中位数_图解面试题:如何分析中位数?
  4. javaScript第七天(2)
  5. as模拟器文件夹路径_EGG Switch手机模拟器怎么用?中文教程来了......
  6. 记录博客第一次上热门
  7. Linux系统学习:网络指令:如何查看一个域名有哪些 NS 记录
  8. http与websocket(基于SignalR)两种协议下的跨域基于ASP.NET MVC--竹子整理
  9. 在线协作编辑算法简介- OT算法
  10. ubuntu 20.04 编译yocto 错误集锦
  11. 408考研计算机网络视频,计算机408考研视频哪个好
  12. mysql drop语句怎么用_SQL DROP 语句
  13. 【论文笔记】Information Extraction over Structured Data: Question Answering with Freebase
  14. 凤凰卫视:专业、互动、持续的云服务助力凤凰新媒体转型
  15. JAVA面试准备小记
  16. 第7章 使用RAID与LVM磁盘阵列技术
  17. 支付宝当面付之扫码支付“无效签名”
  18. 接口测试的标准和规范性
  19. 乐信、趣店同源“异路”
  20. sdio wifi 移植

热门文章

  1. python全栈开发实战pdf老男孩_Python教程:2017年老男孩最新全栈python第2期视频教程全套完整版...
  2. window 结束进程命令
  3. 13-TDengine使用JDBC-JNI连接报错:JNI connection is NULL
  4. 【java】json字符串转json文件
  5. PHP 常用函数 - 数组函数
  6. 【综合练习1】彩虹枚举(红橙黄绿青蓝紫的英文)(>Red:红 >Orange:橙 >Yellow:黄 >Green:绿 >Blue:青 >Indigo:蓝 >Purple:紫)
  7. 如何让暴风影音播放flv文件
  8. 技术分享| 视频监控融合方案
  9. 基于GB/T 28181 标准的监控摄像头视频接入技术
  10. PDF-XChange Editor