问题:刚升级了Android Studio,配置完所有的东西,要来启动程序时,碰到Cannot reach ADB server, attempting to reconnect.(或者list of devices attached)
日志内容如下:
* daemon not running; starting now at tcp:5037
* daemon started successfully
Sending Tracking request failed!
Adb connection Error:远程主机强迫关闭了一个现有的连接。
Cannot reach ADB server, attempting to reconnect.
或者
list of devices attached
首先
1、需要确保你的电脑驱动功能没问题(这个不用担心,一般很少遇到,只要你的电脑买的是一体机或者笔记本,不是组装的那种电脑一般不会遇到,组装机也很少遇到)。
2、然后数据线可以正常连接到Android Studio进行usb调试(这个要注意,某些数据线不能连接到Android Studio进行usb调试,比如三合一数据线就不行,还有像路边那种很便宜的数据线也不行,这两种数据线只能充电,而不能连接到Android Studio进行usb调试)。
3、手机打开了usb调试功能。
解决方案
方案一
Android studio 取消勾选 "Enable adb mDNS for wireless debugging"
在File - Settings - Build, Extension, Deployment-Debugger(如果这种方法没有解决你的问题,就看方案三)。
方案二
先在命令提示符(cmd)查看一下5037端口号被什么占用,输入以下命令
netstat -ano | findstr 5037
然后回车。
C:\Users\13570>netstat -ano | findstr 5037
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 7724
TCP 127.0.0.1:5037 127.0.0.1:52314 ESTABLISHED 7724
TCP 127.0.0.1:52314 127.0.0.1:5037 ESTABLISHED 10048
根据查找结果第五列中的PID号去到任务管理器 —> 详细信息或服务,查找对应PID的程序。如果是被studio之外的程序所占用,停掉即可(这是一种解决方案,不过找这个有点麻烦,不推荐使用这种方法,推荐使用方法三;或者这种方法没有解决你的问题,就看方案三)。
方案三
如果只有studio一个程序占用,则是adb开启异常。
adb开启异常的情况,去到SDK目录下的platform-tools(我的目录是C:\Android\sdk\platform-tools),在这个目录下进入cmd,输入:adb kill-server回车,然后再输入
adb start-server回车就可以了(见下图一,如果这种方法没有解决你的问题,就看方案四)。
方案四
请把手机USB调试关闭后再次打开,然后重新执行方案三;仍旧不行的话,把手机USB调试关闭,重启手机,然后再把手机USB调试打开,重新执行方案三;到这步不行的话只能关掉电脑的所有应用并且重启电脑了,然后重新执行方案三。
方案五(终极解决方案,强烈推荐)
直接换M1的Mac(16G及其以上运行内存,8核及其以上cpu)开发Android就可以了,以后就很少遇到关于Android Studio的兼容性问题了,棒棒哒。
以下是推荐此方案的原因:
因为这些年开发Android 的时候遇到过好几次兼容性问题了,除了这个端口号被占用问题,还有这个(比如:请查看博客https://blog.csdn.net/madaxin/article/details/124297221,具体解决方案请查看https://www.bilibili.com/read/cv13176883),当然还有一些别的兼容性问题,我这里就不一一举例了,Windows系统的确有很多兼容性问题,有些情况下需要自己处理,非常恶心。。。
其实Android Studio 也自带一些bug (比如:请查看博客https://blog.csdn.net/NakajimaFN/article/details/126141751),这已经够恶心了。。。Windows又有兼容性问题,这让开发人员多情难以堪啊,所以我直接推荐开发者使用M1 MacBook开发Android。