背景
最近更换电脑,android studio找不到设备;本文档对adb使用过程中遇到的文件进行记录,方便下次自己和其他同学遇到相同问题进行参考,如果不完善的地方请谅解,本文档仅包含个人遇到问题及解决方式。
问题
- 打开Androd Studio找不到连接的手机
- 控制台输入adb无反应
- 出现adb.exe: failed to check server version: cannot connect to daemon
- cannot connect to daemon at tcp:5037: cannot connect to 127.0.0.1:5037: 由于目标计算机积极拒绝,无法连接。 (10061)
解决方式1
确保ADB工具已正确安装
- 确保已安装Android SDK 且将路径添加到环境变量
- 输入
adb version
来检查ADB是否已正确安装。如果没有反应,说明ADB可能没有正确安装或没有添加到系统路径中。
检查设备连接
- 确保你的Android设备已通过USB连接到电脑,并且已启用USB调试模式。你可以在设备的“开发者选项”中启用USB调试。
- 在命令提示符中输入
adb devices
,看看是否能列出已连接的设备。如果没有设备列出,可能是驱动问题或连接问题。
解决方式:确保你的设备正确连接到计算机,并且USB调试已开启
- 在设备上进入“设置” -> “开发者选项” -> 启用“USB调试”。
- 使用数据线重新连接设备。
检查端口占用
端口5037可能被其他程序占用。你可以检查并终止占用该端口的进程。
- 打开命令提示符(Windows)或终端(macOS/Linux)。
- 输入以下命令以查看占用5037端口的进程:
Windows:
netstat -ano | findstr :5037
macOS/Linux:
lsof -i :5037
如果发现有其他进程占用该端口,可以终止该进程。
方法一:重启ADB服务器
打开命令提示符(CMD)。
输入以下命令停止ADB服务器:
adb kill-server
再输入以下命令启动ADB服务器:
adb start-server
方法二:终止占用端口的进程
找到占用端口的进程ID(PID),根据你的输出,PID是9336。
打开任务管理器,找到对应的进程并结束它,或者在命令提示符中使用以下命令结束进程:
taskkill /PID 9336 /F
检查防火墙设置
有时候防火墙可能会阻止ADB连接:
Windows系统案例如:
- 打开控制面板,进入“系统和安全” -> “Windows Defender 防火墙”。
- 点击“允许应用或功能通过Windows Defender防火墙”。
- 确保“adb.exe”在列表中并且被允许通过防火墙。
检查ADB版本
确保你使用的是最新版本的ADB工具:
- 下载最新的ADB工具包。
- 替换旧版本的ADB工具。
解决方式2-重新启动计算机
有时候简单的重启计算机可以解决很多问题