解决安卓真机调试时无法识别手机设备+识别后显示无法连接adb服务

784 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第6天,点击查看活动详情

步骤

  • 查看日志,发现如下提示:

Adb connection Error:远程主机强迫关闭了一个现有的连接。

Cannot reach ADB server, attempting to reconnect.

daemon not running; starting now at tcp:5037

  • 查看是谁占用了5037端口,可以的话把它终止掉 在命令行下输入:

netstat -ano | findstr 5037

我发现我的是被一个系统进程(SYS开头的)给占用了。这不好乱杀,所以我就关机重启了。

  • 之后就正常了
	Gradle build finished in 25 s 244 ms

	Launch succeeded

设备一栏也能成功显示手机型号。

其他可能的原因及方法

也有可能是物理硬件造成的,即数据线接触不良,电脑没能识别设备。 下次遇到这种情况,可以先拔线重连,不行再从软件层面入手。

注意事项

网上有的博客可能只会告诉你让你把杀毒软件、安全卫士之类的关掉,但我觉得这种说法不够准确。每台电脑某一时刻占用某个端口的进程可能不一样,你要知道你为什么要把它关掉,并且能够准确找到它是谁才行,不能一顿瞎碰。


更新:

第二天又遇到了这个问题,不过这次识别出了设备但是下载失败,也提示:"Cannot reach ADB server, attempting to reconnect."然而这次拔线、重启电脑、invalid cache and restart 都不得,想去kill进程却发现是被TCP占用,而且每次的进程号还不一样,说明上面的方法对我来说也是治标不治本了。

  • 解决方案:既然我们平时是用数据线连接调试的,那就取消adb的无线连接权限。 步骤: 依次点击 File-settings,进入如下页面:取消勾选该选项:

image.png

一按ok之后再试就成功了。