ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

WSABuilds 旁加载实战:修复 WSA ADB 连接错误 10061(目标机器积极拒绝连接)

WSABuilds 旁加载实战:修复 WSA ADB 连接错误 10061(目标机器积极拒绝连接) WSABuilds 旁加载实战修复 WSA ADB 连接错误 10061目标机器积极拒绝连接【免费下载链接】WSABuildsRun Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) and/or Magisk or KernelSU (root solutions) built in.项目地址: https://gitcode.com/GitHub_Trending/ws/WSABuilds导读在 Windows Subsystem for AndroidWSA上通过 ADB 安装 APK 时开发者常常会遇到No connection could be made because the target machine actively refused it. (10061)报错。本指南基于 WSABuilds 仓库的 TargetMachineActivelyRefusedConnection 修复文档系统梳理该错误的触发场景、底层根因Hyper-V 与端口 58526 的冲突并给出从快速重启到端口永久保留的完整修复链路同时结合仓库中的 ADB 旁加载指南与 FAQ提供验证方法与备选连接方案。读完本文你将能独立诊断并根治 WSA 的 ADB 连接问题。一、错误背景这个报错出现在什么场景错误 10061 的完整输出形如cannot connect to ||127.0.0.1:58526:|| No connection could be made because the target machine actively refused it. (10061)该错误几乎总是出现在以下两种旁加载场景中详见 原修复文档使用第三方旁加载 GUI 工具如 WSA-Sideloader、WSAPacman使用命令行adb.exe直连即通过 Android SDK Platform Tools 对 WSA 执行adb connect。这两类工具的核心机制相同都依赖 ADB 的无线调试能力默认通过本机回环地址127.0.0.1:58526与 WSA 建立连接。因此只要端口 58526 上的连接被拒绝无论用哪个工具都会撞上同一条错误信息。1.1 正常情况下的 ADB 连接流程作为对照先看仓库中 ADB-Sideloading 指南 描述的完整连接流程启动Windows Subsystem for Android进入Advanced Settings高级设置打开Developer mode开发者模式开关记下开发者模式页面显示的IP address and portIP 地址与端口打开 Windows Terminal确认已安装 ADB执行配对命令adb pair 127.0.0.1:58526在无线调试窗口中查看Device name设备名称及其下方的 IP 地址与端口执行连接命令adb connect 127.0.0.1:58526用adb devices确认 WSA 已处于连接状态。注意从仓库 FAQMagiskOnWSA/docs/README.md 与 MagiskOnWSA/DLL/docs/README.md来看58526是 WSA 默认暴露给 ADB 无线调试的端口而 WSA 设置页中实际显示的动态调试端口则是另一套详见下文备选连接方案。1.2 GUI 旁加载工具如何使用这个端口WSA-Sideloader仓库的 WSA-Sideloader 使用指南 明确指出若在安装 APK 时遇到No connection could be made because the target machine actively refused it应直接参照本修复指南处理。WSAPacmanWSAPacman 指南 要求首次使用前必须在 WSA 的Developer页打开开发者模式并授予 ADB 调试权限——若 10061 报错出现同样意味着 ADB 通道未建立成功。二、根因分析Hyper-V 与端口 58526 的冲突根据原修复文档这是一个 WSA子系统自身的 bug对应微软官方仓库的 issue #136。其机制可以概括为WSA 是运行在Hyper-V之上的虚拟机其 ADB 无线调试端口58526需要由 Hyper-V 的网络栈进行端口预留由于 Hyper-V 的已知缺陷它无法可靠地预留 58526 端口导致 WSA 侧的监听端口没有生效此时从 Windows 主机侧向127.0.0.1:58526发起 TCP 连接内核会直接返回 10061目标机器主动拒绝连接因为没有进程在该端口上监听。从源码结构看WSABuilds 仓库之所以专门维护本修复文档正是因为仓库的核心交付物MagiskOnWSA 目录下的预构建二进制把 Magisk/KernelSU、GApps 等集成进 WSA 之后用户会大量使用 ADB 旁加载 APK——这一错误因此成为旁加载链路中最高频的拦路虎之一。三、第一道保险重启电脑由于根因是 Hyper-V 的端口预留状态异常重启电脑通常即可恢复。这是因为重启后 Hyper-V 会重新初始化其端口排除表excluded port range有机会正确接管 58526 端口。如果重启后问题依旧则执行下一节的完整修复流程。四、完整修复流程永久保留 58526 端口修复思路分两条线并行先让 Hyper-V 彻底释放端口管理权通过临时禁用再启用再用netsh把 58526 从 Hyper-V 的可抢占用端口池中排除通过添加排除端口范围实现。这样即便 Hyper-V 重启后重新扫描端口也无法再占用 58526。⚠️操作前提以下命令均需管理员权限PowerShell / CMD 以管理员身份运行且会暂时中断 Hyper-V 相关功能包括 WSA、WSL 等虚拟化工作负载请在合适的时间窗口执行。第 1 步彻底关闭 WSA 并禁止其自启动关闭Windows Subsystem for Android通过其设置页或任务栏图标退出打开任务管理器Task Manager→启动应用Startup Apps页签找到 WSA 相关条目并禁用自启动。这一步的目的是防止 WSA 在修复过程中被自动拉起并重新占用/监听 58526干扰后续端口操作。第 2 步禁用 Hyper-V在管理员 PowerShell 中执行dism.exe /Online /Disable-Feature:Microsoft-Hyper-V执行后Hyper-V 及其端口排除逻辑会被关闭端口 58526 将完全交还 Windows 主机管理。第 3 步重启电脑禁用 Hyper-V 后需要重启使系统真正脱离 Hyper-V 的端口管理状态。第 4 步为 58526 添加端口排除范围在管理员CMD中执行netsh int ipv4 add excludedportrange protocoltcp startport58526 numberofports1参数含义参数说明int ipv4操作 IPv4 协议栈的接口配置add excludedportrange添加一段排除端口范围范围内的端口不会被系统/服务自动占用protocoltcp仅对 TCP 生效ADB 无线调试走的是 TCPstartport58526排除范围起始端口即 WSA 的 ADB 调试端口numberofports1范围长度为 1仅排除 58526 这一个端口该命令的本质是在 Windows 内核的端口分配表中为 58526 打上保留标记Hyper-V 之后便无法再将其纳入自己的端口排除/预留范围从而杜绝Hyper-V 把 58526 抢回去这一根因。 建议顺手用netsh int ipv4 show excludedportrange protocoltcp验证排除是否生效——如果 58526 出现在输出列表中说明保留成功。第 5 步重新启用 Hyper-V 并再次重启如果第 2 步执行前 Hyper-V 本来就是开启状态WSA 依赖 Hyper-V 运行通常如此则需重新开启dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All然后再次重启电脑让 Hyper-V 在 58526 已被排除的前提下完成初始化。至此修复完成可以重新启动 WSA按第一节的流程再次执行adb pair/adb connect 127.0.0.1:58526验证。五、验证与备选连接方案5.1 验证连接修复完成后回到 ADB-Sideloading 指南 的流程adb devices若输出中包含127.0.0.1:58526 device则连接成功可以继续adb install file path安装 APK。5.2 备选方案使用 WSA 设置页显示的动态端口如果 58526 的保留问题暂时无法解决例如不想动 Hyper-V仓库 FAQ 给出了另一条路径MagiskOnWSA/docs/README.md确认 WSA 的Developer mode已开启打开 WSA 设置页Developer页面查看其中显示的 IP 地址与端口这是一个由 WSA 动态分配的无线调试端口用该端口替代 58526 进行连接adb connect ip:5555注意WSA 默认的localhost:58526与设置页显示的动态端口并不总是同一个当 58526 因 Hyper-V 冲突不可用时动态端口方案是绕过问题的有效手段但其端口号会随会话变化需要每次在设置页确认。5.3 相关排查防火墙与本地回环如果连接问题表现为能连上但网络不通而非 10061可参考仓库中另外两份文档FixInternet.md排查 Windows 防火墙中 Windows Subsystem for Android™ 的入站/出站规则是否被禁用或阻止并处理第三方杀软如 ESET、Bitdefender、AVG 等防火墙误拦 WSA/WSL 流量的情况LocalHostLoopback.md若目标是让 WSA 访问 Windows 主机的 localhost 服务开发联调场景需要以管理员身份配置 Hyper-V 防火墙规则例如Set-NetFirewallHyperVVMSetting -VMCreatorId {9E288F02-CE00-4D9E-BE2B-14CE463B0298} -LoopbackEnabled True New-NetFirewallHyperVRule -DisplayName LoopbackAllow -VMCreatorId {9E288F02-CE00-4D9E-BE2B-14CE463B0298} -Direction Inbound -Action Allow -LocalPorts [PORT]六、修复流程速查表步骤操作命令/位置作用0重启电脑—触发 Hyper-V 重新初始化端口排除表多数场景直接恢复1关闭 WSA、禁用自启动任务管理器 → 启动应用防止修复过程中 WSA 重新监听 585262禁用 Hyper-Vdism.exe /Online /Disable-Feature:Microsoft-Hyper-V交还端口管理权3重启—使 Hyper-V 关闭生效4排除端口 58526netsh int ipv4 add excludedportrange protocoltcp startport58526 numberofports1防止 Hyper-V 重新抢占该端口5重新启用 Hyper-V 并重启dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All恢复虚拟化环境并验证保留验证连接 WSAadb pair 127.0.0.1:58526→adb connect 127.0.0.1:58526→adb devices确认旁加载通道可用七、小结错误 10061 是 WSA 旁加载链路中最常见的假故障之一问题不在 APK、不在 ADB 配置而在 Hyper-V 无法稳定预留 58526 端口。通过禁用 Hyper-V → 用netsh排除端口 → 重新启用 Hyper-V的完整流程可以一劳永逸地解决该问题若追求临时绕过使用 WSA 设置页动态端口执行adb connect ip:5555也是仓库 FAQ 认可的替代路径。当旁加载通道恢复后即可按 ADB-Sideloading 指南 完成 APK 安装或借助 WSA-Sideloader、WSAPacman 等 GUI 工具进行批量应用部署。【免费下载链接】WSABuildsRun Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) and/or Magisk or KernelSU (root solutions) built in.项目地址: https://gitcode.com/GitHub_Trending/ws/WSABuilds创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表