Android studio 连不上虚拟机,连不上夜神模拟器,kill掉adb进程

2019-09-02 15:42:08

Android studio 连不上虚拟机,连不上夜神模拟器,kill掉adb进程

连不上的问题,查看上一个解决办法。

但是提示错误,可以先kill掉adb,重新打开,就没问题看。

参考地址如下。


adb server is out of date. killing完美解决


今天,又出现了adb连接不上的问题了。


现象,adb shell 时出现以下信息:


 * daemon not running. starting it now on port 5037 *

 

  ADB server didn't ACK 

 * failed to start daemon * 

error: cannot connect to daemon

显然,原因是ADB SERVER的端口被占用。


解决方法: 

请参考: 

adb server is out of date. killing完美解决: 

地址: http://blog.csdn.net/liranke/article/details/42524851


今天,久未出现的著名的“adb server is out of date.  killing”又发生了,在此,将解决方法记下,以便日后查看。




1. 错误信息:


C:\Users\lizy>adb devices


adb devicesadb server is out of date.  killing...


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



2. 原因:


adb的端口(5037)被占用了。至于这个5037端口,可以参考本博客另外 一篇文章:


http://blog.csdn.net/liranke/article/details/4999210


在这个文章里,详细说明了adb的原理及其源码分析。




3. 解决方法:


在cmd窗口:

C:\Users\lizy>adb nodaemon server

cannot bind 'tcp:5037'



C:\Users\lizy>netstat -ano | findstr "5037"

  TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       8516

  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

  ......

C:\Users\lizy>tasklist | findstr "8516"

sjk_daemon                        8516 Console                    1     3,071 K


哦,原来是sjk_daemon进程占了adb的端口。


C:\Users\lizy>tasklist





Image Name                     PID Session Name        Session#    Mem Usage

========================= ======== ================ =========== ============

System Idle Process              0 Services                   0         24 K

System                           4 Services                   0      1,128 K

sjk_daemon                     963 Console                    1      3,071 K

tasklist.exe                  1260 Console                    1      5,856 K



将这个进程kill掉:

C:\Users\lizy>taskkill /f /pid 963


如果这个命令提示无权限,那么,可以去windows的“任务管理器”中“进程”那个窗口,找到这个进程,将它杀掉。



再运行adb devices,就没有问题了。

C:\Users\lizy>adb devices

4df7f482396a301d        device


  • 2019-08-28 08:28:36

    Js apply,call方法详解,及其apply()方法的妙用

    在给对象参数的情况下,如果参数的形式是数组的时候,比如apply示例里面传递了参数arguments,这个参数是数组类型,并且在调用Person的时候参数的列表是对应一致的(也就是Person和Student的参数列表前两位是一致的) 就可以采用 apply , 如果我的Person的参数列表是这样的(age,name),而Student的参数列表是(name,age,grade),这样就可以用call来实现了,也就是直接指定参数列表对应值的位置(Person.call(this,age,name,grade));

  • 2019-08-28 08:49:47

    Nginx + fastcgi + php 的原理与关系

    CGI对每个请求会parse一遍对应脚本的配置文件(如php.ini), 加载配置和扩展,初始化执行环境,性能非常差,所有有了下面的流程:

  • 2019-08-28 09:23:15

    php单例模式

    单例模式,是一种常见的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。

  • 2019-08-28 22:45:02

    彻底搞懂Gradle、Gradle Wrapper与Android Plugin for Gradle的区别和联系

    Gradle是个构建系统,能够简化你的编译、打包、测试过程。熟悉Java的同学,可以把Gradle类比成Maven。Gradle Wrapper的作用是简化Gradle本身的安装、部署。不同版本的项目可能需要不同版本的Gradle,手工部署的话比较麻烦,而且可能产生冲突,所以需要Gradle Wrapper帮你搞定这些事情。Gradle Wrapper是Gradle项目的一部分。

  • 2019-08-30 21:53:51

    OpenSSL实践-Android下的编译和使用

    openssl可以编译成ARM下面的二进制代码(动态库或者静态库),方便APP使用,APP在使用的时候,需要使用JNI来进行调用。