今天再打开Android Studio运行项目时发现无法正常检测到我的手机,手机上一直弹出是否允许该电脑控制手机并安装程序,但是就是不能正常安装。 在这里当时的错误已经无法复原了,但是大致的意思就是电脑adb的5037端口出现问题,不能正常的连接安卓机,我再网上查找了很多资料,发现这类问题主要有两种情况:
1.5307端口被其他的进程占用,不能被AS正常调用。 2.这个端口根本没有正常开放,而且电脑出于某种原因不能正常启动这个服务。
Android 调试桥 (adb) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。 启动一个 adb 客户端时,此客户端首先检查是否有已运行的 adb 服务器进程。如果没有,它将启动服务器进程。当服务器启动时,它与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令—所有 adb 客户端均使用端口 5037 与 adb 服务器通信。
简单点看,就是电脑和手机连接的调试工具无法正常工作,这个问题解决得重点在于正常开启5307端口。
第一种情况的解决方法:
在cmd界面输入
netstat -ano | finder "5037"
然后观察有哪些服务占用了5307,然后找到它的PID,关闭这个服务就可以解决问题。
taskkill /F /PID 3292
但是我在按照上面的方法解决之后,问题反而更加严重,不知道是因为Win11的系统原因还是我的手机使用了 Harmony 2.0.0 的原因,我的AS依然不能正常打开手机调试。 这种时候就可以尝试第二种方法(实现方程简单)。
第二种情况的解决方法:
我首先进入到SDK的platform-tools目录下,然后输入 adb kill-server ,然后就非常无语,显示我的电脑积极的拒接,连接不到。然后我又重新启动了一次 adb start-server ,这时候它提示我端口服务开启成功,再回到AS界面,居然回复了正常,可以检测到我的安卓设备了。虽然原理不甚清楚,但是可以写下来做个记录。 如果你使用的是新版的小蜜蜂AS则有另外一种可能,就是你开启了无线设备连接,占用了5307端口,我们要找到这个位置关闭它。具体操作就是打开setting进入Debugger中,取消勾选: Enable adb mDNS for wireless debugging 再回到主界面就可以正常连接设备了。
|