运行adb时遇到的问题

一、安装

http://zhidao.baidu.com/link?url=vmpZFGXFUZg-z2ppS3ZnKXeuf3Z78lV6MKbfNPt8kU7bbfFRy2LTojaQ8i96fOhlx_9_c5H3t_PHxvwffDYl3q
adb安装教程一大把,自己安

二、adb不是内部或外部命令,也不是可运行的程序或批量文件

使用adb指令时,若不在指定的存在adb.exe的文件夹中运行adb指令,会导致出现“adb不是内部或外部命令,也不是可运行的程序或批量文件”的报错。

  • 若在存在adb.exe的文件夹中运行adb命令还是提示“adb不是内部或外部命令,也不是可运行的程序或批量文件”时,有可能是环境变量没有配置。

需要将adb.exe文件所在的路径添加到环境变量PATH中

  • 若添加了环境变量后还无法运行adb指令,那么可能是缺少了几个配置文件,只要从网上下载 AdbWinApi.dll 和AdbWinUsbApi.dll,将adb.exe,AdbWinApi.dll和AdbWinUsbApi.dll三个文件放置于C:\Windows\system路径的文件夹中

AdbWinApi.dll 下载地址: http://www.ddooo.com/softdown/25041.htm
AdbWinUsbApi.dll 下载地址:http://www.ddooo.com/softdown/47468.htm

这下adb命令一定可以运行了

三、 ADB server didn't ACK failed to start daemon *error: unknown host service

D:\monkey>adb devices
adb devicesadb server is out of date. killing...
ADB server didn't ACK* failed to start daemon *error: unknown host service

此时表明adb的运行端口被占用了,需要检查哪个端口被占用了

D:\monkey>adb nodaemon server
cannot bind 'tcp: 5037

说明5037端口被占用了,需要检查哪个程序占用了5037端口

D:\monkey>netstat -ano | findstr "5037"
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 20088
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 ......
D:\monkey>tasklist | findstr "8437"
sjk_daemon 8437 Console 1 3,071 K

表明sjk_daemon占用了该端口,此时只要把sjk_darmon程序kill掉就可以了

D:\monkey>taskkill /f /pid 8437

四、sjk_darmon“无法结束进程,拒绝访问”

(一) 利用服务界面停止进程

  • 打开任务管理器,单击鼠标右键sjk_darmon,菜单中选择“转到服务”
  • 在服务界面,点击选中问题服务,然后点击右下角“服务”;
  • 在服务界面,在窗口右侧找到问题服务,双击打开相关服务属性界面;
  • 在相关问题服务界面,将相关问题服务启动类型设置成“禁用”,在服务状态选项上点击“停止”;
  • 完成操作后,再去停止sjk_daemon进程。

(二)利用命令行强制停止sjk_daemon进程

1.利用进程的PID结束进程命令格式:

ntsd -c q -p pid
命令范例: ntsd -c q -p 8437
2.方法二:利用进程名结束进程命令格式:
ntsd -c q -pn sjk_daemon.exe
命令范例:ntsd -c q -pn

(三)卸载金山毒霸或金山手机助手

上述方法对于一般的进程也许可行,但对sjk_daemon这个进程完全行不通,goo了一下才知道,这是金山毒霸的霸王进程,卸载了金山毒霸或者金山毒霸的手机助手才能将其杀死
操作步骤:打开金山毒霸→右上角设置→左边菜单“实用工具设置”→选择手机助手→勾选“禁止手机组件”→重启电脑→杀死进程

成功,完美

你可能感兴趣的:(运行adb时遇到的问题)