Windows平台上无法启动Android ADB Server的解决方案

Table of Contents

请尊重原作者的工作,转载时请务必注明转载自:www.xionggf.com

在Windows系统上使用adb时。经常会出现adb devices命令长时间无响应、adb start-server 失败、eclipse adt初始化时卡在dbms-init上等现象。造成这个问题的大部分原因,是在于adb server所默认使用的5037号端口被占用了。这种情况尤其在Windows系统装了类似于360手机助手等软件时经常出现。比如360助手在启动之后,会启动一个名字为360MobileLink.exe的进程。这个进程一般会占用这个默认端口号。

解决这个问题的最直接野蛮的方法,就是找出占用5037端口的进程,然后关闭它。我们可以使用命令行操作,如下:

netstat -aon | findstr 127.0.0.1:5037

执行此命令后,便会打印出占用这个端口的进程的PID,根据这个PID值。我们再输入命令如下:

tasklist|findstr "进程PID"

执行此命令后,便会打印出这个进程对应的可执行文件名,启动任务管理器关闭它即可。关闭了这个进程后,执行

adb kill-server
adb start-server

便可重新启动adb server。所以在开发时,最好先打开elipse等软件,启动了adb之后,再启动360手机助手等软件,才不会发生这种占用端口的问题。

还有另一种方法就是自己配置adb server使用的端口号,只要在系统环境变量中定义 ANDROID_ADB_SERVER_PORT 的值即可。最好选择一个5位数的端口号(10000 ~ 65535),使用一个生僻的值。不易重复。Windows下只要在环境变量中增加一个ANDROID_ADB_SERVER_PORT值填你自己定义的端口。Linux下只要 export $ANDROID_ADB_SERVER_PORT = 自定义端口,即可。

kumakoko avatar
kumakoko
pure coder
comments powered by Disqus