做android开发真机调试时,Eclipse或者as经常连接不到手机,用命令adb shell会提示adb server is out of date,killing……
原因是因为adb进程的端口被占用了。
解决办法:
一、在cmd中执行adb nodaemon server,查看adb的端口号是多少,一般情况下是5037,如下图
二、再执行netstat -ano | findstr "5037" ,会看到如下类似的情形:
显示的从左到右的意思分别是:连接类型(TCP)、本地地址和端口、外部地址和端口、连接状态、进程的PID号。这里有两个进程占据着5037端口,其中一个占据的是本地的5037端口,另外一个占据的是外部的5037端口,要将占用本地5037端口的进程杀死。
三、打开任务管理器。点击进程,现在要找的是PID为240的进程。有时候可能会发现任务管理器里没有进程PID的信息显示,这时候只要点击任务管理器的查看-->选择列,如下图
然后把PID勾选上即可。这时候再次查看当前进程的PID,把PID为240的进程kill掉。然后再运行adb命令就可以了。这时候要重启下开发工具,才会显示与手机连接了。