解决Unity3D打包android连接不上adb的问题

1:前言

打包android,报错(Unable to kill the adb server.Please make sure the Android SDK is installed and is properly configured in the Editor……),具体如下图所示:
Unity3D打包android报错详情

2:必备知识和解决方案

2.1 5037端口

adb的默认端口是5037

2.2 如何查看指定端口被哪个进程占用

2.2.1 查看当前进程所有占用端口

命令:netstat -ano
查看进程占用的所有端口
如上图最后一列PID,即Process ID(进程标识ID)。

2.2.2 查看具体某个端口号是否被占用

命令:netstat -ano|findstr “XXXX”
查看具体某个端口是否被占用
如上图22056即为占用5037端口的进程的PID。

2.2.3 根据PID找到进程

有了PID,可以在任务管理器找到对应的进程,如下图:
任务管理器查找PID对应的进程

也可以使用命令:tasklist|findstr “XXXX”,如下图:
通过cmd命令查找PID对应的进程
(注意,命令tasklist可以获得当前所有的进程)

2.2.4 关闭进程

命令:taskkill/pid XXXX
有时候需要/f 强制关闭。即:taskkill/pid xxxx/f,如下图。
使用命令关闭指定PID的进程

3:特殊情况

有时候占用adb的进程怎么都关闭不了,比如金山手机助手的进程sjk_daemon.exe,该进程会占用5037端口,且关闭后不一会儿又重启,很是恼火。无奈只有卸载金山毒霸(金山助手是集成在毒霸内的,日它仙人了~)