android - error: protocol fault (couldn't read status): connection reset

android - error: protocol fault (couldn't read status): connection reset

我在使用 WSL2 Ubuntu 运行ning 的 Windows 10 环境中,并且在遇到一些困难后将我的 adb 端口转发到 Windows 以使其能够与我的 WSL2 环境通信,我能够通过 WSL 的 adb 安装 运行 我的应用程序。

为了让我的 WSL2 的 adb 在 Windows 上看到我的设备,我遵循了这些步骤:https://gist.github.com/monicalabbao/b303b260f0acba16735be2483f5210c5

adb 在我的 WSL2 运行 时间和我的 Windows 几天都工作得很好,直到我在 Windows 上打开我的 Android Studio 来处理本机Android 应用程序,现在我的 Android Studio 无法再启动其 ADB:

6:14 PM error: protocol fault (couldn't read status): connection reset

6:14 PM 'C:\Users\me\AppData\Local\Android\Sdk\platform-tools\adb.exe start-server' failed -- run manually if necessary

我的 adb 在 Windows 防火墙中的入站规则都是 Public 和私有的,它们被允许在任何范围内接收来自本地和远程 IP 地址的流量。

我还有一个自定义规则,允许我的 WSL2 环境与我的家庭网络子网范围内的 Windows 环境通信。

以下是我尝试解决问题的方法:

  1. 重新启动 adb.exe - 首先在我的任务管理器中找不到 adb.exe。
  2. 重新启动 Android Studio - 同样的问题
  3. 重新启动计算机 - 问题并没有消失
  4. 在我的 PowerShell 上通过 adb kill-serveradb start-server 手动重启我的 ADB,仍然发生。
  5. 运行 Android Studio 作为管理员
  6. adb kill-serveradb -a -P 5037 nodaemon server 在我的 PowerShell 上。
  7. 允许 Android Studio 通过我的 Windows 防火墙在 public 网络上运行(入站规则)
  8. 冷启动模拟器。 - 协议错误只是自我重复。
  9. 为我的 Android SDK
  10. 重新下载了 \platform-tools

这是我的 Android 工作室中的活动端口:(netstat -ab)

[studio64.exe] TCP 127.0 .0 .1: 59952 [MY-PC]: 59951 ESTABLISHED
[studio64.exe] TCP 127.0 .0 .1: 59953 [MY-PC]: 59954 ESTABLISHED
[studio64.exe] TCP 127.0 .0 .1: 59954 [MY-PC]: 59953 ESTABLISHED
[studio64.exe] TCP 127.0 .0 .1: 59955 [MY-PC]: 59956 ESTABLISHED
[studio64.exe] TCP 127.0 .0 .1: 59956 [MY-PC]: 59955 ESTABLISHED
[studio64.exe] TCP 127.0 .0 .1: 60511 [MY-PC]: 60512 TIME_WAIT
  TCP 127.0 .0 .1: 60518 [MY-PC]: 60519 TIME_WAIT
  TCP 127.0 .0 .1: 60522 [MY-PC]: 60523 TIME_WAIT
  TCP 127.0 .0 .1: 60535 [MY-PC]S: 60536 ESTABLISHED
[studio64.exe] TCP 127.0 .0 .1: 60536 [MY-PC]: 60535 ESTABLISHED
[studio64.exe] TCP 127.0 .0 .1: 63342 [MY-PC]: 0 LISTENING
[studio64.exe] TCP 172.31 .192 .1: 139 [MY-PC]: 0 LISTENING

我还注意到 OriginWebHelperService 和 svchost 出于某种原因正在使用端口 5554 和 5037 -- 我与我的 ADB 和模拟器关联的端口:

[OriginWebHelperService.exe] TCP 127.0.0.1:5037 [MY-PC]:0 LISTENING
  iphlpsvc
[svchost.exe] TCP 127.0.0.1:5554 [MY-PC]:0 LISTENING

以上内容可能会导致正在发生的事情,但我不确定。

很明显,我的 ADB 连接已重置,但不是由对等方重置的。

如果没有重置我的电脑,我可能错过了什么或做了什么让我的 ADB 以这种方式运行?

谢谢!

我只是将系统还原到开始将端口转发到 TCP 5554 之前的某个时间,并开始添加新的防火墙规则。 ADB 守护进程在 TCP 端口 5037 启动,仅此而已。

8:18 AM * daemon not running; starting now at tcp:5037

8:18 AM * daemon started successfully