豌豆荚啊,手机助手啊,金山。。啊,都关了,或者删了,
在win xp,win 7上使用adb时,越来越多的人出现了 adb devices 命令长时间无响应、adb start-server失败、eclipse adt初始化时卡在dbms-init上等现象。
它们的根本原因均在于,adb server所使用的5037号端口被占用。
一种常见的解决方法是:找出占用5037端口的程序,然后杀掉它。
使用:netstat -aon | findstr 127.0.0.1:5037来找到占用5037的进程ID。
使用:kill -f pid去杀掉它们。(或者在任务管理器-进程中,结束进程。PS:需要事先在 windows任务管理器-查看-选择列,勾选PID)
我查询了机器上占用5037的进程,是系统svhost,它是一个service host,具体里面跑的什么服务则不得而知。但服务进程每一次开机都会运行。
所以,上述的方法在每次开机都要做一遍,麻烦。所以,这个方法并不是最优解。
另一种方法:
自己配置 adb server端口,使用一个生僻的值。
很简单,只要在系统环境变量中定义 ANDROID_ADB_SERVER_PORT的值即可。
最好选择一个5位数的端口号(10000 ~ 65535),不易重复。
win下只要在环境变量中增加一个ANDROID_ADB_SERVER_PORT,值填你自己定义的端口。
linux下只要 export $ANDROID_ADB_SERVER_PORT =自定义端口,即可。
这时打开一个命令行,输入adb devices,看看是不是在新的端口上启动了啊?