当我们在系统中使用多个不同源的adb时,特别容易浮现标题所述的错误:
adb server is out of date. killing... cannot bind 'tcp:5037' ADB server didn't ACK * failed to start daemon * error:
想印证上述猜测,可通过如下命令:
w@xxx:~$ adb nodaemon server cannot bind 'tcp:5037'
查看端口使用状态,可使用netstart命令:
查看已经连接的服务端口:
netstart -a查看所有服务,使用:
netstart -ap
netstat -ap|grep "5037"输入如下:
(并非所有进程都能被检测到,所有非本用户的进程信息将不会显示,如果想看到所有信息,则必须切换到 root 用户) tcp 0 0 localhost:5037 *:* LISTEN 25255/adb tcp 0 0 localhost:51695 localhost:5037 ESTABLISHED 23836/adb tcp 0 0 localhost:5037 localhost:51695 ESTABLISHED 25255/adb我们可以看到,有多个adb服务,占用了5037端口,导致其无法正常工作.故:使用kill命令杀死所有的adb进程,重新使用adb start-server进行重启adb.
w@xxx:~/Tools/adt-bundle-linux-x86_64-20140702/sdk/tools$ kill 23836 w@xxx:~/Tools/adt-bundle-linux-x86_64-20140702/sdk/tools$ kill 25255