1.问题描述
把手机插上电脑adb就报错:
10:32:52 ‘C:\Users\fendo\AppData\Local\Android\Sdk\platform-tools\adb.exe,-P,8879,start-server’ failed — run manually if necessary
10:33:13 Unable to run ‘adb’: null
10:33:13 ‘C:\Users\fendo\AppData\Local\Android\Sdk\platform-tools\adb.exe,-P,8879,start-server’ failed — run manually if necessary
10:33:22 error: could not install
*smartsocket*
listener: cannot bind to 127.0.0.1:8879: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 (10048)
10:33:22 could not read ok from ADB Server
10:33:22 * failed to start daemon *
10:33:22 error: cannot connect to daemon
10:33:22 ‘C:\Users\fendo\AppData\Local\Android\Sdk\platform-tools\adb.exe,-P,8879,start-server’ failed — run manually if necessary
2.解决方法
1>>>>输入 netstat -ano | findstr “8879” 查看哪个程序占用了”8879″ 端口
也可以使用
adb nodaemon server
查看哪个端口被占用
2>>>>结束进程:
网上常用的命令
1.
tasklist | findstr “xxxx”
2.
taskkill /pid xxxx /f
3.
taskkill /F /IM adb.exe
4.
使用批处理
@echo off
color a
title ReleaseAdbPort
echo ======================
echo
*** liyu 2015-01-15**
*
echo
*** v1.0.0 **
*
echo ======================
echo —————————
echo Checking adb port…
for /F “usebackq tokens=5” %%a in (
`”netstat -ano | findstr “5037””`
) do (
if not “%%a” ==”0″ call :ReleasePort %%a
)
echo —————————
echo adb port has been released!
echo —————————
pause
exit
:ReleasePort
TASKKILL /f /PID %1
注:
有时候根据pid结束一个进程是他会提示
C:\Users\fendo>taskkill /pid 4864 /f
错误: 无法终止 PID 为 4864 的进程。
原因: 拒绝访问。
网上有的说用:
ntsd -c q -p PID
其中PID为进程的PID值,回车后该进程会被强行结束。ntsd命令为Windows系统调试级别的命令
输入dos提示:
‘ntsd’ 不是内部或外部命令,也不是可运行的程序
或批处理文件。
没找到解决方法,只好在进程管理器中结束。。