真机调试adb:wait for device 解决方案

时间:2023-03-09 00:31:47
真机调试adb:wait for device 解决方案
1、adb logcat 命令的时候,cmd总是提示adb server did't ACK.
   分析一下,明显adb server没有开启成功,服务启动失败一般都是端口绑定失败,所以我们只有释放占据改端口的程序即可
      1、adb nodaemon server 命令查看一下,这时cmd输出:can't bind tcp:5037
      2、netstat -ano|findstr "5037"查看一下什么进程占了5037端口
      3、从列出的列表里面找到TCP 0.0.0.0.0 程序的PID,比如PID为1234
      4、杀死该进程,有两种方法,一是启动任务管理器,查看->选择列->勾选PID,找到PID为1234的进程杀死,二是直接cmd:kill -9 1234
      5、重新插拔设备
2、adb logcat 和adb shell 的时候,cmd总是提示wait for devices.
      起先我并没有注意到这个是问题,我以为是时间问题,然后等了半天还是wait for devices .我就纳闷了,难道我设备没有连接上?看了一下手机,明显是连上了啊,在试了一下手机助手,也能连上啊,为什么adb就是找不到设备呢。为了证实我的想法,我就adb devices了一下。果然:
    真机调试adb:wait for device 解决方案
     根本就没有设备。
     于是网上找了半天解决办法,刚好讲述这些奇葩的经历。我尝试的四种方法如下:
      一、重启adb服务
                      adb kill-server,adb start-server,adb devices。很可惜,失败了,传说中最靠谱,解决了大多数问题的办法在我这失效了。
      二、虚拟设备
                      看到了很多人说这种时候必须要启动虚拟机才能找到,抱着怀疑的态度我试了试
     真机调试adb:wait for device 解决方案
             至此,我觉得我对那些网上瞎喊的人(还不止一个)完全没爱了,确定这不是再逗我?说好的我的真机设备呢?冷静下来一想突然就觉得自己活该,adb真机调试本要就要求仅有一个安卓设备连接,不然会端口抢占,本来一听说要启动虚拟机,我就该否决的,不该随流病急乱投。
   三、usb驱动
          想了半天,都找不到原因,我只好归结为驱动的错了。于是我特地去找了个adb shell驱动,放到了c盘win32下。一放下我就后悔了,尼玛啊
 ,手机助手都能连上,明显不是驱动的问题啊,不然人家怎么能安装的上。。。。。。我又脑残的无用功了。不过算了,当有备无患吧。。
    附上博主分享的驱动地址:http://pan.baidu.com/s/1qW7JdTy
   四、添加真机设备硬件ID
              寻遍网络,最后找到一个近在眼前的办法。。。
           1、右击我的电脑,然后找到设备管理器打开。
                真机调试adb:wait for device 解决方案
                  2、找到设备ID
                        真机调试adb:wait for device 解决方案
                     3、C盘 Administrator\.android>下找到或新建一个adb_usb.ini文件。
                     4、把VID的数值写入到adb_usb.ini 里面。就是0xVID(0x1BBB)这6个字符即可。
                           真机调试adb:wait for device 解决方案
                      5、cmd上输入adb kill-server 然后重新拔插usb线之后,就可以连接adb 了。
                           真机调试adb:wait for device 解决方案
                至此,问题解决,adb logcat 和adb shell 别提跑的有多溜了~