我在 WSL 2(Windows 10 2004)中的 Ubuntu 18.04 下运行 Android Studio(当前版本为 3.6.1),现在支持 GUI。由于 WSL2 中的虚拟化不起作用,我需要继续在主机上运行我的模拟器,当然,用于调试我的 android 应用程序的连接设备会出现在主机上。
Android Studio 如何看到主机上出现的模拟器和设备?
我在 WSL 2(Windows 10 2004)中的 Ubuntu 18.04 下运行 Android Studio(当前版本为 3.6.1),现在支持 GUI。由于 WSL2 中的虚拟化不起作用,我需要继续在主机上运行我的模拟器,当然,用于调试我的 android 应用程序的连接设备会出现在主机上。
Android Studio 如何看到主机上出现的模拟器和设备?
连接设备有一种方法,但这必须一个一个地完成:
在 android studio 中您是否应该看到该设备
这是我根据这篇 Medium 帖子要做的事情。
adb
到 Windows 上的环境变量。在文件资源管理器中,右键单击This PC
并选择Advanced system settings
,然后Environment Variables.
在System variables下,查找Path
,单击Edit
,然后选择New
。添加此路径:C:\Users\MYUSERNAME\AppData\Local\Android\Sdk\platform-tools
. 确保更改 MYUSERNAME。adb
到您的 PATH。 你需要确保你adb
在 Windows 和 Linux 上使用相同版本的,这就是为什么我在两者上都安装了最新的 Android Studio。 就我而言,我添加alias adb='/home/MYUSERNAME/Android/Sdk/platform-tools/adb'
到我的.bashrc
.adb devices
. 确保设备在那里。adb tcpip 5555
.adb devices
. 您将看不到任何设备,但这将启动adb
。Settings
-> About phone
-> Status
->执行此操作IP address
。它可能会是类似的东西192.168.0.10n
。adb connect PHONE_ID:5555
.adb
由于连接确认,可能会失败。在 WSL2 终端中运行adb kill-server
,然后运行adb connect PHONE_ID:5555
.终于可以调试您的设备了!
ADB over TCP 对我不起作用。在一个有效的WSL GitHub 问题中找到了这个解决方法,在此处添加了一些额外细节的步骤:
(1) 在 WSL中,添加以下内容~/.bashrc
:
export WSL_HOST_IP="$(tail -1 /etc/resolv.conf | cut -d' ' -f2)"
export ADB_SERVER_SOCKET=tcp:$WSL_HOST_IP:5037
(2) 添加Windows防火墙规则
(3) 启动 ADB Server(使用特定参数使其监听所有地址)
"C:\Users\user\Documents\Development\wsl_adb_start.vbs"
)并将以下内容放入其中:
CreateObject("WScript.Shell").Run "adb.exe kill-server", 0, True
CreateObject("WScript.Shell").Run "adb.exe -a -P 5037 nodaemon server", 0, True
注意:这假设 adb 在您的路径上。如果没有,请添加完整路径(通常类似于%USERPROFILE%\AppData\Local\Android\Sdk\platform-tools\adb.exe
)WScript "C:\Users\shuba\Documents\Development\wsl_adb_start.vbs"
.VBS 脚本调用是每次启动时您必须执行的唯一步骤:您的 WSL 虚拟机将连接到您的主机 ADB 实例。在此之后,启动 WSL 并享受吧!