The connection to adb is down, and a severe error has occured.

来源:互联网 发布:windows fips 编辑:程序博客网 时间:2024/06/06 19:06

解决该问题的第一步:

启动android模拟器时.有时会报The connection to adb is down, and a severe error has occured.的错误.在网友说在任务管理器上把所有adb.exe关闭掉.重启eclipse.但试过不管用.所以在外国网站上找到一种可行的方法:

1.先把eclipse关闭.

2.在管理器转到你的android SDK 的platform-tools下, 如图:


3.键入adb kill-server ,如果adb关闭了会提示 server not running *

4.再输入 adb start-server  如果不成功会提示 daemon not running. starting it now on port  ***的

   而如果成功的话不提示任何语句的.这时再重新打开eclipse就可以正常运行模拟器的了.

而我的错误如下:

C:\Users\admin>adb start-server
adb server is out of date.  killing...
ADB server didn't ACK
* failed to start daemon *

解决该问题的第二步:

以上问题出现的原因是:adb server没启动

查看c:\windows\system32下有没有netstat.exe文件,如果没有的话,那就是你的机子没安装这个命令。如果有的话,那你得重新配置一下机子的环境变量。

环境变量配置如下:

我的电脑-》右键-》属性-》高级-》环境变量-》在“系统变量”里找到“path”-》编辑
看变量值里有没以下三个值,没有的,缺哪个补哪个。记得每个值都是以分号结束的,这个不能少。
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;

程序不能执行,kill掉任务管理器里面adb服务,重新连接设备仍然有错


查到可能是adb端口被占用

查看adb用的是哪个端口:C:\Users\wanglin>adb nodaemon server


查看谁占用了这个端口:C:\Users\wanglin>netstat -ano | findstr "5037"


可以打开任务管理器关闭该进程。

更方便的是用命令行直接kill该进程:taskkill /F /PID 6292


然后cmd运行:输入netstat -a回车,输出端口信息。


在Windows环境下,用netstat命令查看某个端口号是否占用,为哪个进程所占用。
操作:操作分为两步:

(1)查看该端口被那个PID所占用;方法一:有针对性的查看端口,使用命令
Netstat –ano|findstr “<端口号>”,如图,最后一列为PID。图中的端口号为1068,所对应的PID为3840。
(2)查看该PID对应的进程名称。
用命令查找,tasklist|findstr “<PID号>”,即tasklist|findstr 3840

补充内容:

很多时候只需要查看某个端口的使用情况,它到底被那个进程(对应PID)占用了,或者你还需要把它Kill掉。如果你在Windows操作系统,你可以使用netstat命令来查询PID,然后可以打开任务管理器,查看这个PID对应的进程名;如果PID没有显示,菜单》查看》选择列》选中PID即可;得知进程后,我们可以将进程杀掉。下面搜索我简单描述一下我所了解的在Windows和Linux系统下处理方式。(假如我们需要确定谁占用了我们的9010端口)

1、Windows平台
在windows控制台窗口下执行:netstat -nao | findstr "9010" TCP 127.0.0.1:9010 0.0.0.0:0 LISTENING 3017你看到是PID为3017的进程占用了9010端口,如果进一步你想知道它的进程名称,你可以使用如下命令:tasklist | findstr "3017" 如果你想杀死这个进程,你当然可以用前面描述的那种方法,在任务管理器里把它KILL了,但如果你喜欢高效一点,那么用taskkill命令就可以了。taskkill /pid 3017那么这个进程就灰灰湮灭了:)

2、Linux
如果你是个Linux爱好者,那个这个命令你应该很熟了,netstat -pan | grep 9010 如果你稍微仔细一点,你会发现,用的都是netsta命令,事实上,netstat是一个比较通用的网络统计命令,几乎适用于所有现在流行的操作系统,无论是Linux,Window,还是其他Unix,或者Unix-like操作系统,而且用法基本一致。下面是一个对Windows系统中netstat命令行参数的详细解释。


在Windows环境下,用netstat命令查看某个端口号是否占用,为哪个进程所占用。
操作:操作分为两步:

(1)查看该端口被那个PID所占用;方法一:有针对性的查看端口,使用命令
Netstat –ano|findstr “<端口号>”,如图,最后一列为PID。图中的端口号为1068,所对应的PID为3840。
(2)查看该PID对应的进程名称。
用命令查找,tasklist|findstr “<PID号>”,即tasklist|findstr 3840

本篇文章转自原文:http://blog.csdn.net/ningyaliuhebei/article/details/17995017

0 0
原创粉丝点击