[英]ADB device list empty using WSL2
我正在嘗試使用 WSL2 (Ubuntu) 調試/連接設備進行開發。 我已經按照這篇文章https://stackoverflow.com/a/58229368/21061上的步驟操作,它使用相同的 ADB 版本在 Windows 和 Linux 上設置 ADB。
但是,一旦我這樣做了,我會在 Ubuntu 終端中得到一個空的設備列表。 我已經嘗試從 Windows 命令行殺死並重新啟動 ADB 服務器,但這似乎沒有任何區別。 這在 WSL2 中是不可能的,還是我遺漏了什么?
這個答案對我使用 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
豪爾赫的回答很好,但像我這樣的初學者可能需要更多細節。
[ip 設備] 是[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
解壓縮平台工具后,我必須將目錄更改為 PowerShell 和 WSL2 中的解壓縮文件夾 ( cd platform-tools
)。
然后在 Windows 上的 PowerShell 中,我在platform-tools
文件夾中運行.\adb tcpip 5555
。
在 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
和./adb devices
顯示連接的設備列表。
就這些。 現在您應該可以使用 WSL2 調試您的手機了。
我們可以在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 腳本
試試看
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
C:\> adb devices
List of devices attached
P1CN21AKXAZ device
如果 windows 中的 adb.exe 會找到您的 android 設備,那么 wsl 中的 adb 也會。 我寫這篇文章是因為我不建議任何人使用adb tcpip
(在我見過的少數地方推薦),但不知道它會帶來什么風險。 我通過從使用adb tcpip
命令的設備復制和粘貼來鏈接我的腳本以在 1-3 秒內入侵任何 android 設備而不理解后果,我想指出我寫這篇文章是為了宣布提供建議是多么危險不等於給出建議,當你完成后,盡快關閉它!
adb disconnect
ln -s "/mnt/c/Program\ Files\ \(x86\)/adb/adb.exe" /usr/bin/adb
在 WSL2 中
sudo mv /usr/bin/adb /usr/bin/adb_bk
sudo ln -s /mnt/c/platform-tools/adb.exe /usr/bin/adb
亞行設備
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.