使用WSL2的ADB设备列表为空

时间:2020-02-11 10:38:07

标签: android windows ubuntu windows-subsystem-for-linux

我正在尝试调试/连接使用WSL2(Ubuntu)开发的设备。我已按照本帖子https://stackoverflow.com/a/58229368/21061上的步骤操作,该帖子使用相同的ADB版本在Windows和Linux上设置了ADB。

但是,一旦这样做,我在Ubuntu终端中会得到一个空的设备列表。我尝试从Windows命令行终止并重新启动ADB服务器,但这似乎没有任何区别。在WSL2中这是不可能的,还是我缺少了什么?

2 个答案:

答案 0 :(得分:5)

Jorge 的回答很好,但像我这样的初学者可能需要更多细节。

[ip device] 是 [YOUR_PHONE_IP] 地址。要获取手机的IP地址,请转到“设置->关于手机->状态->IP地址”。它可能类似于 192.168.x.y。

我没有将 adb 添加到我的 PATH 变量中——无论是在 Windows 中还是在 Linux/WSL2 中。相反,我只是使用以下链接下载了两个操作系统的最新版本:

https://dl.google.com/android/repository/platform-tools-latest-linux.zip https://dl.google.com/android/repository/platform-tools-latest-windows.zip

解压平台工具后,我必须将目录更改为 PowerShell 和 WSL2 中的解压文件夹 (cd platform-tools)。

然后在 Windows 上的 PowerShell 中,我在 .\adb tcpip 5555 文件夹中运行 platform-tools

在 WSL2 终端中,我运行 ./adb connect 192.168.2.199:5555(其中 192.168.2.199 是我的 PHONE_IP 地址)。

第一次使用 [YOUR_PHONE_IP] 地址连接时,系统会提示您确认连接。 adb 可能会说它在等待确认时连接失败。如果是,请在 WSL2 终端中运行 ./adb kill-server,然后再次运行 ./adb connect [YOUR_PHONE_IP]:5555

您可以通过 PowerShell 中的 .\adb devices 和 WSL2 中的 ./adb devices 显示连接的设备列表。

仅此而已。现在您应该可以使用 WSL2 调试您的手机了。

答案 1 :(得分:0)

answer使用WSL 2为我工作:

在Windows上:

adb tcpip 5555

然后在WSL 2:

adb connect [ip device]:5555

如果是第一次,它将在电话中询问您的许可,请确保选中该复选框以始终授予许可。然后重新启动adb并再次连接:

adb kill-server
adb connect [ip device]:5555