在Android Studio中Run运行程序后,发现找不到所连接的设备,Conected device上面显示<none>
下方输出信息打印如下信息:
* failed to start daemon
16:10 error: cannot connect to daemon
网上对这问题的解释几乎都是5037端口被什么360手机助手、豌豆荚之类的占用,导致adb开启失败,进而找不到所连接的真机或虚拟机。
方法都是让你adb kill-service再start-service,或者找出占用5037端口的那个进程把他删掉
但是我在命令行中,adb是可以开启的,adb service可以正常打开,并且adb shell可以显示所连接的设备
也就是说,我的adb明明是正常开了的,因此显然这些方法都解决不了问题。但是为什么Android Studio就是找不到我的设备。并且不仅是真机找不到,虚拟机都找不到,下面是空的。
这里先给出解决方案:将自己先前所装的adb.exe复制到Android\Sdk\platforms-tools的目录下,覆盖掉里面的adb.exe
在开始学习安卓之前用STM32做的项目中,我就曾经安装过一次adb,放在了我的文档下
出了这个问题后,我就曾经怀疑过是不是电脑里有不止一个adb,但是在命令行里使用where adb寻找adb的位置,只找到了这一个adb.exe
后来发现,在下方输出的打印还有一句:
'C:\Users\Administrator\AppData\Local\Android\Sdk\platform-tools\adb.exe start-server' failed -- run manually if necessary
然后我找到了这个目录下,发现这里居然还有一个adb.exe,日期显示是才创建不久的
于是便试着将自己先前安装的adb.exe复制到这个目录里,将这个新的adb.exe覆盖掉,换成之前装的adb
随后进入Android Studio,再次Run,终于找到我连到电脑上的手机了,并且之前创建的虚拟机也都显示出来了,问题解决。