使用 WSL2 的 ADB 设备列表为空

Ian*_*Ian 13 windows ubuntu android windows-subsystem-for-linux

我正在尝试使用 WSL2 (Ubuntu) 调试/连接用于开发的设备。我已经按照这篇文章/sf/answers/4076055791/上的步骤操作,它使用相同的 ADB 版本在 Windows 和 Linux 上设置了 ADB。

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

小智 23

我们可以更轻松地做到这一点WSL2

如果我们在windows中安装了adb并且路径是 /mnt/c/platform-tools/adb.exe

WSL2 adb 安装在 /usr/bin/adb

让更改adbadb_bk并设置ln -s为链接adb.exe

sudo mv /usr/bin/adb /usr/bin/adb_bk

sudo ln -s /mnt/c/platform-tools/adb.exe /usr/bin/adb

现在我们可以使用 adb 并处理 bash 脚本

尝试一下


Jor*_*ete 8

这个答案使用 WSL 2 对我有用:

在 Windows 上:

adb tcpip 5555
Run Code Online (Sandbox Code Playgroud)

然后在 WSL 2 上:

adb connect [ip device]:5555
Run Code Online (Sandbox Code Playgroud)

如果这是第一次,它会要求您在手机中获得许可,请确保选中该框以始终授予许可。然后重新启动 adb 并再次连接:

adb kill-server
adb connect [ip device]:5555
Run Code Online (Sandbox Code Playgroud)

您可以从以下位置获取您的 [ip 设备]:设置 > 关于设备 > 状态。它的形式如下:170.100.100.100

  • 我收到“无法连接到 172.19.112.1:5555: 连接超时” (2认同)

小智 8

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

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

我没有将 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

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

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

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

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

您可以通过.\adb devicesPowerShell 和./adb devicesWSL2显示连接的设备列表。

就这些。现在您应该可以使用 WSL2 调试您的手机了。