日期:2014-05-16  浏览次数:20649 次

Eclipse中运行程序,提示ADB server didn't ACK failed to start daemon

今天在eclipse中运行程序时,提示:

ADB server didn't ACK

* failed to start daemon *

baidu、google后,看很多难兄难弟说这个是豌豆夹搞的怪,打开任务管理器,找了半天也没发现,正常,因为豌豆夹上周被我卸了……

?

突然看到下面这位XD的解决思路可借鉴,特转载如下:

-----------------------------------------------

【杂症】一个豌豆荚引发的血案——关于ADB server didn't? ACK

?

前言:

终于,还是回到了博客园,继续我的技术博客之旅,其实这段时间经历很多事情,换了份工作,开始了WP7和Android的开发工作,对于一个从Windows Mobile跳过来的开发者,还真的经历了不少曲折,今天在这里就记录一下,这个恼人的:ADB server didn't ACK~~~~~(大家可以在谷歌里搜搜……)

?

问题重现:

今天下午,写了不少代码后,点击那个Run按钮后,Eclipse给我报错:

[2012-06-19 15:22:19 - adb] ADB server didn't ACK

[2012-06-19 15:22:19 - adb] * failed to start daemon *

可是,可是昨天都还好好的啊,于是谷歌吧,关键词:ADB server didn't ACK,一大堆结果哦,无非如下几种:

  • 重启Eclipse
  • 重启电脑
  • 加入环境变量
  • ……

都一一试过来,还是不行,急煞我也!!!

?

柳暗花明:

在看帖子的过程中,众位苦逼的同行中,有一位提过:

5037端口被占用的话,也会出现如下提示……

于是乎,真像是找到了救命稻草一般,先在命令行中输入如下指令,查看5037这个端口现在是被谁占用了:

netstat -a -o 5037

然后得到如下的一个结果,还真被占用了哦:


?

那这个4792在我机器上,到底是个什么进程呢,好的,接着输入以下命令,把真凶找出来:

tasklist /fi "pid eq 4792"

然后,额……我郁闷了……居然是大名鼎鼎的豌豆荚:

?

结尾:

好了,到这里,我结束了这个进程,然后重启了Eclipse,接着,点击Run,程序就像以前一样,自动打开模拟器并加载了。此问题虽然不是很严重,但是从网络上每位遇到此问题的同学来看,大部分人还没遇到过我这个问题,所以记录在这里,希望能够帮助到大家。

?

原文地址:

http://www.strongcms.net/mobile/android/2012/0619/7273.html

-----------------------------------------------------------

?

我的调查结果:

根据上述思路,查看确实有程序占用端口5037,pid为4276,实际占用程序如下:



?

查看任务管理器,发下有一个oaadb.exe、多个oa_adb.exe进程,强行结束oaadb.exe后,过一会儿会自己启动,如果强行结束oa_adb.exe,会起很多个oa_adb.exe,特流氓。

?

解决办法:

没办法,我也采取了不太厚道的解决办法,查到该执行文件的位置,然后把oaadb.exe,再重启eclipse,adb顺利启动,运行OK,解决。

oaadb.exe的路径如下:

C:\Documents and Settings\Administrator\Local Settings\Temp\INPEnhUpdate

?

至于删了这个文件有啥影响,目前还没发现……

?

另外, 网上有人说,这个文件是迅雷的,这个我不太确定,话说迅雷也来搀和移动这块儿了?甭管是谁家的,这个设计太恶心了,跟病毒有啥子区别?!鄙视

?

?