出现这个原因从下面两个步骤进行:
1. 在任务管理器里面kill掉adb.ext进程。
2. 干掉豌豆夹进程(名字里面有wandoujia的)、干掉迅雷手机的进程(ThunderMobile.exe)、干掉360手机助手进程。总之,干掉一切会连接手机的各种助手。我是在任务管理器里面找了好久才找到ThunderMobile.exe这个进程,干掉之后,再干掉adb.exe,就可以正常运行adb命令了。
很多**手机助手都会劫持adb.exe进程,达到跟手机通讯的目的,对于android开发者会造成很大的不便。而且你永远不知道哪个应用程序会偷偷的增加跟手机通讯的功能(比如蛋疼的ThunderMobile)。
2014.03.14(add)。发现一个更好的解决方案,见下文。
转载请注明出处:http://blog.csdn.net/xiaanming/article/details/9401981
ADB server didn't ACK 这个问题会困恼很多的新手朋友,我以前刚开始做Android的时候也遇到过这个问题,不过自己百度,google啥的,也不知道怎么就给解决了,看到群里很多新手朋友都会问这个问题,说实话我也没有一个解决这个问题的终极方法(百试百灵的那种,哈哈),自己没遇到也没有认真的去对待他,今天,就是在今天,我打开Eclipse连上手机,准备调试程序,出现如下的信息
- The connection to adb is down, and a severe error has occured.
- You must restart adb and Eclipse.
- Please ensure that adb is correctly located at 'D:\android-2.2-windows\platform-tools\adb.exe' and can be executed.
- * daemon not running. starting it now *
- ADB server didn't ACK
- * failed to start daemon *
- 查看5037端口被谁占用了,开始--运行--CMD 到命令提示符,输入 netstat -aon|findstr "5037",如下图
- 我们从上面根本就看不出5037端口被谁占用,我们需要根据后面的PID(2748)来查找占用该端口的应用程序,输入 tasklist|findstr "2748" ,如下图 注: 我这里5037端口是正确的被adb.exe占用,如果是你,就是其他的应用程序啦
- 结束该进程,输入taskkill /f /t /im 你的进程名,例如adb.exe,如下图,在重新连接手机,这时候你会发现程序运行起来了