排解 ffx starnix adb connect 問題

如果裝置無法透過 USB 使用 adb,您可以使用 ffx starnix adb connect 指令,讓在 Starnix 中執行 Android 的裝置,可供開發機器上的 adb 伺服器查看。

這個指令會要求 adb 使用 TCP 連線至裝置,並使用 ffx 提供的網路位址進行連線。

這個指令可能會失敗,原因有幾種,本頁面提供常見情況的解決方法。

多部 adb 裝置

當多部 Android 裝置連線至開發機器,或 Android 裝置在模擬器中執行時,您可能會看到 adb 的錯誤訊息,指出有多部裝置存在,但它不知道要使用哪一部裝置。

如要確認開發機器的 adb 伺服器是否可看到多部裝置,請執行以下指令:

adb devices -l

如果輸出內容列出多部裝置,您需要為 adb 指令指定一台裝置。

如要找出裝置的 ID,請執行:

ffx starnix adb connect

輸出結果應類似以下:

...
adb is connected!
See https://fuchsia.dev/go/troubleshoot-adb-connect if it doesn't work.
This connection's "serial number" for adb is ADB_CONNECTION_ADDRESS.

請取得上述指令列印的序號,然後將其做為引數傳遞至 adb 指令:

adb -s ADB_CONNECTION_ADDRESS shell ...

或者,您也可以在 Shell 中設定環境變數,後續的 adb 指令會使用這些變數:

export ANDROID_SERIAL=ADB_CONNECTION_ADDRESS
adb shell ...