adb devices
当我从 Windows 的 poweshell运行时,我会看到附加设备的列表。但是当我adb devices
从 Windows 子系统(ubuntu 18.04)内部运行时,我什么也看不到。我该如何修复它?我需要从 ubuntu 运行脚本到我的 Android 设备。我该怎么做?
答案1
标题中您的意思是“子系统”而不是“文件系统”对吗?
嗯,官方说法是不行。至少在wsl --mount
功能发布之前不行,但有一个技巧(更确切地说是破解)可以奏效。
ADB 实际上由两个组件组成,一个负责设备通信的守护进程和一个通过本地网络套接字与守护进程通信的客户端。因此,首先在 Windows 和 WSL 中安装完全相同版本的 ADB,然后通过运行以下命令在 Windows 中启动/重新启动 ADB 守护进程:
adb kill-server
adb start-server
然后在 WSL 中的 ADB 中,它应该会自动使用已经运行的守护程序并能够正常与您的设备通信。现在在 WSL 中运行
adb devices
笔记:Windows 和 WSL 上的 ADB 版本必须相同。如果您已通过命令行在 WSL 上安装了 ADB。记下它的版本,adb version
然后返回 Windows 执行相同操作,如果发现 Windows 上的版本不同,则可能必须下载适当版本的platform_tools
。您可能需要进行一些反复试验,因为 Android 没有在其下载页面上明确提及哪个版本的adb
附带哪个版本的platofrm_tools
。