weex 下adb链接失败 could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: 通常每个套接字地址

本文介绍了解决Weex在执行weexrunandroid命令时遇到5037端口被占用的问题。具体步骤包括查找占用端口的进程并通过任务管理器结束该进程,最后重新执行weexrunandroid命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用weex执行 weex run android 的时候报错:

error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 (10048)
...

报这个错的原因是5037端口被占用,adb已经被别的程序占用了。 我的是因为手机360占用。
解决办法:停止5037端口对应的程序。

cmd ==》
输入 netstat -nao | findstr “5037”
这里写图片描述

最后为pid进程id。
关闭这个进程:
打开任务管理器 ==》 通过pid为4328的应用程序,结束这个进程;

重新打开命令行,执行 weex run android

需要等好久… 等着吧 此问题解决!

在使用 ADB 时,如果遇到 `adb daemon not running; starting now at tcp:5037` 提示,并紧接着出现 `error: cannot connect to daemon at 127.0.0.1:5037: Access denied (socket error 10013)` 的错误,通常表示 ADB 服务器无法在默认端口 5037 上启动,这可能由多种原因引起。 ### 1. 端口被占用 最常见的原因是端口 5037 已被其他进程占用。ADB 服务器尝试启动时会绑定到本地地址 `127.0.0.1` 的 5037 端口。如果该端口已被占用,将导致 ADB 无法启动,并抛出 `Access denied` 错误[^1]。 可以使用以下命令查找占用 5037 端口的进程: ```bash netstat -ano | findstr :5037 ``` 找到 PID 后,使用任务管理器或以下命令终止该进程: ```bash taskkill /F /PID <PID> ``` 例如,若 PID 为 13408,则执行: ```bash taskkill /F /PID 13408 ``` 完成之后再次尝试启动 ADB 服务: ```bash adb start-server ``` ### 2. 权限不足 在某些系统中,特别是 Windows 上,如果当前用户没有足够的权限绑定到特权端口(如 5037),也会导致 ADB 无法启动。此时可以尝试以管理员身份运行命令提示符或 PowerShell,然后再次执行 `adb start-server` 命令。 ### 3. 防火墙或安全软件拦截 部分防火墙或杀毒软件可能会阻止 ADB 服务绑定到本地端口。可以尝试临时关闭防火墙或杀毒软件,然后重新启动 ADB 服务。 例如,若发现某个可疑进程如 `360MobileLink.exe` 正在占用端口 5037,可以通过以下命令终止该进程: ```bash taskkill /F /PID 5148 ``` ### 4. ADB Server 与设备连接机制 ADB 是一个 C/S 架构的应用程序,由 ADB Client、ADB Server 和设备端的 ADB Daemon (adbd) 组成。当 ADB Server 启动失败时,所有通过 ADB Client 发出的命令都无法正常执行,也无法与设备建立连接[^2]。 确保 ADB Server 成功启动后,再尝试连接设备或模拟器。例如,模拟器通常监听端口 5554,而 ADB 会通过 5555 端口与其通信[^1]。 ### 5. 调试端口转发问题 如果用户在进行调试(如 IDA 调试 Android 设备),需要确保 ADB 正常运行,并能够将设备端的调试端口转发到本地。例如: ```bash adb forward tcp:23946 tcp:23946 ``` 若 ADB 服务未启动,该命令将失败。因此,确保 ADB Daemon 正确启动是进行远程调试的前提条件[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值