在使用adb命令时经常会遇到ADB server didn't ACK,相信很多安卓开发的工程师都遇到过这个问题,网上的解决方法有很多,端口被占用这个原因估计是大部分出现这种情况的原因,我没有试过别的方法,只是将占用端口的进程杀死然后重启adb和eclipse,下面是具体的操作步骤:
第一步:先尝试一下进入DDMS的Device中重置adb,或许能一步到位,直接解决了这个问题,Eclipse很好找到DDMS,在此就不再赘述,如果是Android Studio,DDMS在ADK Manager右边倒数第三个,点击进入后在Name上面有个向下的小箭头,点击后可以reset adb。如果还是不行就继续下一步。
第二步:首先进入SDK的这个路径sdk\platform-tools,你会看到adb.exe就在里面,按住Shift+鼠标右键,选择“在此处打开命令窗口”,这时就可以使用adb命令了。
第三步:敲入命令adb start-server会看到启动失败。
第四步:敲入命令adb nodaemon server查看是否是端口绑定的问题,很多时候都是,如果出现“cannot bind 'tcp:5037' ”,则说明真的事端口绑定的问题。
第五步:敲入命令netstat -ano | findstr "5037"查看占用端口的进程,查看最后一列的数字,那就是占用该端口的进程号PID。
第六步:打开任务管理器,查看对应的PID,如果打开后发现没有PID这列,可以点击查看->选择列,将PID勾选后确定就可以看到了,将对应的PID找到后将其杀死。
第七步:重新输入命令adb start-server开启adb。如果成功了就重启Eclipse或AS。