I personally feel that there are two of these reasons. The 5037 port is occupied by another program or process, and the ADB does not occupy 5037 ports. A lot of people just know that the first two ignores the second kind.
Whatever the reason, the solution to the problem is the same. Here do a collation as follows:
1. Error message:
C:\USERS\LIZY>ADB devices
ADB devicesadb Server is an out of date. Killing ...
ADB server didn ' t ack* failed to start daemon *error:unknown Host Service
2. Reason:
The ADB port (5037) is occupied. As for this 5037 port, you can refer to this blog for another article:
http://blog.csdn.net/liranke/article/details/4999210
In this article, the principle of ADB and its source code analysis are explained in detail.
3. Workaround:
In the cmd window:
C:\users\lizy>
adb Nodaemon Server
Cannot bind ' TCP:
5037‘
C:\users\lizy>
Netstat-ano | findstr "5037"
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING
8516
TCP 127.0.0.1:5037 127.0.0.1:59163 time_wait 0
TCP 127.0.0.1:5037 127.0.0.1:59164 time_wait 0
TCP 127.0.0.1:5037 127.0.0.1:59167 time_wait 0
......
C:\users\lizy>
tasklist | findstr "8516"
Sjk_daemon8516 Console 1 3,071 K
Oh, it turns out that the Sjk_daemon process accounted for the ADB port.
C:\users\lizy>
tasklist
Image name PID Session Name session# Mem Usage
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 K
System 4 Services 0 1,128 K
Sjk_daemon 963Console 1 3,071 K
Tasklist.exe 1260 Console 1 5,856 K
To kill this process:
C:\users\lizy>
taskkill/f/pid 963
If this command prompts for no permission, then you can go to
Windows Task Manager, "Process" window, find this process and kill it.
Run the ADB devices again, there is no problem.
C:\USERS\LIZY>ADB devices
4df7f482396a301d Device
Finally, don't forget to restart Eclipse and emulator.
ANDROID:ADB server didn ' t ack or ADB server is an out of date. Killing Solutions