通過 WiFi 將 ADB 連線到裝置

標準 ADB 配置涉及到物理裝置的 USB 連線。
如果你願意,可以切換到 TCP / IP 模式,然後通過 WiFi 連線 ADB。

沒有 root 裝置

  1. 進入同一個網路:

    • 確保你的裝置和計算機位於同一網路中。
  2. 使用 USB 電纜將裝置連線到主機。

  3. 通過網路將 adb 連線到裝置:

    當你的裝置通過 USB 連線到 adb 時,請執行以下命令以偵聽埠上的 TCP / IP 連線(預設為 5555):

    • 輸入 adb tcpip <port>(切換到 TCP / IP 模式)。
    • 斷開 USB 電纜與目標裝置的連線。
    • 輸入 adb connect <ip address>:<port>(埠是可選的;預設為 5555)。

    例如:

    adb tcpip 5555
    adb connect 192.168.0.101:5555
    

    如果你不知道裝置的 IP,你可以:

    • 檢查裝置的 WiFi 設定中的 IP。
    • 使用 ADB 發現 IP(通過 USB):
      1. 通過 USB 將裝置連線到計算機
      2. 在命令列中,鍵入 adb shell ifconfig 並複製裝置的 IP 地址

    要通過 USB 恢復除錯,請使用以下命令: ****

    adb usb
    

    你還可以通過在 Android Studio 上安裝外掛來通過 WiFi 連線 ADB。為此,請轉到設定>外掛和瀏覽儲存庫,搜尋 ADB WiFi ,安裝它,然後重新開啟 Android Studio。你將在工具欄中看到一個新圖示,如下圖所示。通過 USB 將裝置連線到主機,然後單擊此 AndroidWiFiADB 圖示。無論你的裝置是否已連線,它都會顯示一條訊息。連線後,你可以拔下 USB。

    StackOverflow 文件

植根裝置

注意: 某些已植根的裝置可以使用 Play 商店中的 ADB WiFi 應用程式以簡單的方式啟用此功能。此外,對於某些裝置(特別是那些具有 CyanogenMod ROM 的裝置),此選項存在於設定中的開發者選項中。啟用它將通過簡單地執行 adb connect <ip address>:<port> 為你提供連線到 adb 所需的 IP 地址和埠號。

如果你有 root 裝置但無法訪問 USB 電纜

以下答案詳細解釋了該過程: http//stackoverflow.com/questions/2604727/how-can-i-connect-to-android-with-adb-over-tcp/3623727#3623727 最重要的命令如下所示。

在裝置中開啟終端並鍵入以下內容:

su
setprop service.adb.tcp.port <a tcp port number>
stop adbd
start adbd

例如:

setprop service.adb.tcp.port 5555

在你的計算機上:

adb connect <ip address>:<a tcp port number>

例如:

adb connect 192.168.1.2:5555

要關閉它:

setprop service.adb.tcp.port -1
stop adbd
start adbd

避免超時

預設情況下,adb 將在 5000 ms 後超時。在某些情況下可能會發生這種情況,例如慢速 WiFi 或大型 APK。

Gradle 配置中的一個簡單更改可以解決這個問題:

android {
    adbOptions {
        timeOutInMs 10 * 1000
    }
}