android 使用WSL2时ADB设备列表为空

8e2ybdfx  于 2022-11-20  发布在  Android
关注(0)|答案(6)|浏览(400)

我正在尝试调试/连接一个使用WSL 2(Ubuntu)开发的设备。我已经按照这个帖子https://stackoverflow.com/a/58229368/21061的步骤在Windows和Linux上使用相同的ADB版本设置ADB。
然而,一旦我这样做了,我在Ubuntu终端中得到了一个空的设备列表。我试过从Windows命令行杀死并重新启动ADB服务器,但似乎没有任何区别。这在WSL 2中是不可能的,还是我遗漏了什么?

kknvjkwl

kknvjkwl1#

这个answer适用于我使用WSL 2:
在Windows上:

adb tcpip 5555

然后在WSL 2上:

adb connect [ip device]:5555

如果这是第一次,它会在你的手机上请求你的许可,请确保选中总是授予许可的复选框。然后重新启动adb并再次连接:

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

您可以从以下位置获取[ip设备]:设置〉关于设备〉状态。它有一个类似如下的形式:170.100.100.100

mspsb9vt

mspsb9vt2#

Jorge的答案很好,但像我这样的初学者可能需要更多的细节。
[ip设备]是**[您的电话IP]地址。要获取您电话的IP地址,请转到“设置-〉关于电话-〉状态-〉IP地址”。它可能是类似192.168.x.y的内容。
我没有将adb添加到PATH变量中-无论是在Windows中还是在Linux/WSL 2中。相反,我只是使用下面的链接下载了两个操作系统的最新版本:
https://dl.google.com/android/repository/platform-tools-latest-linux.ziphttps://dl.google.com/android/repository/platform-tools-latest-windows.zip显示器
一旦我解压缩平台工具,我必须改变目录到解压文件夹(cd platform-tools)在PowerShell和WSL 2。
然后在Windows上的PowerShell中,我运行platform-tools文件夹中的.\adb tcpip 5555
在WSL 2终端中,我运行./adb connect 192.168.2.199:5555(其中192.168.2.199是我的电话IP地址)。
第一次使用
[YOUR_PHONE_IP]**地址连接时,系统会提示您确认连接。adb可能会说它在等待确认时连接失败。如果是这样,请在WSL 2终端中运行./adb kill-server,然后再次运行./adb connect [YOUR_PHONE_IP]:5555
您可以通过PowerShell中的.\adb devices和WSL 2中的./adb devices显示连接设备的列表。
这就是全部。现在你应该能够使用WSL 2调试你的手机了。

57hvy0tb

57hvy0tb3#

我们可以在WSL2上更容易地执行此操作
如果我们在windows中安装了adb,路径为/mnt/c/platform-tools/adb.exe
WSL2 adb安装在/usr/bin/adb
adb更改为adb_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脚本
试试看

nxowjjhe

nxowjjhe4#

我尝试用这个自己让WS 12工作,我没有找到任何快速的方法来做到这一点,这是很容易的,它是安全的,每个人都想解决这个问题:
printf '\n%s\n%s\n' \
'### Alias  for Android Debugging in WSL2' \
'alias adb="/mnt/c/Program\ Files\ \(x86\)/adb/adb.exe"' \ 
 >> ~/.bashrc

source ~/.bashrc
现在,我们可以在WSL 1/WSL 2 shell中按照自己的意愿工作了:
C:\> adb devices
List of devices attached
P1CN21AKXAZ     device

如果adb.exe在windows将找到你的android设备,那么adb在wsl也将。我写这篇文章是因为我不推荐任何人使用adb tcpip(这是建议在几个地方,我看到)不知道确切它会带来什么风险。我链接我的脚本黑客任何Android设备在1-3秒内通过复制和粘贴从设备使用adb tcpip命令不了解后果,我想指出的是,我写这篇文章是为了宣布,在某件事上给予建议是多么危险,而不等于提供这样的建议:当你完成后,尽快关掉它!

对于使用tcpip以上的用户并且已完成其任务,请执行:
adb disconnect
当然,您也可以在/usr/bin中创建一个符号链接,以便在系统范围内使用它(如果愿意)。
ln -s "/mnt/c/Program\ Files\ \(x86\)/adb/adb.exe" /usr/bin/adb

https://pastebin.com/raw/DtFSMBsF

sy5wg1nm

sy5wg1nm5#

在WSL 2中
sudo实体化视图/用户名/bin/adb /用户名/bin/adb_bk
软件开发者可以在软件开发过程中,在软件开发的过程中,在软件开发的过程中,在软件开发的过程中,在软件开发的过程中,在软件开发的过程中,
adb设备

cbwuti44

cbwuti446#

jorges的回答直接为我工作,希望在下一个wsl版本中这个麻烦有些得到治愈

相关问题