本页面提供有关如何通过 ADB 连接到 Fuchsia 设备的问题排查提示。
如果您无法使用 adb
命令通过 USB 连接到 Fuchsia 设备,则可以使用 TCP 端口转发连接到在 Starnix 内运行的 Android 实例:
在一个终端中,将主机端口转发到设备的 ADB 端口 (
5555
):ffx forward "HOST_PORT=>5555"
将
HOST_PORT
替换为您机器上的可用端口(例如5559
)。在第二个终端中,将 ADB 服务器连接到该主机端口:
adb connect localhost:HOST_PORT
不过,此设置可能会因多种原因而无法正常运行,本页包含有关解决常见问题的指南。
与模拟器建立 ADB 连接
如需与 Fuchsia 模拟器 (FEMU) 建立 ADB 连接,您可以改为运行以下命令:
ffx starnix adb connect
此命令使 adb
能够使用 TCP 连接到 Fuchsia 模拟器,并使用 ffx
为连接提供的网络地址。
多个 adb 设备
当多个 Android 设备连接到开发机器时,或者当 Android 设备在模拟器中运行时,您可能会看到来自 adb
的错误,指出存在多个设备,但它不知道要使用哪个设备。
如需验证开发机器的 ADB 服务器是否能看到多个设备,请运行以下命令:
adb devices -l
如果输出列出了多个设备,您需要为 adb
命令指定目标设备。通过端口转发连接的设备的标识符是您在 adb connect
命令中使用的地址(例如 localhost:5559
)。
您可以使用 -s
标志将此标识符作为实参传递给 adb
命令,例如:
adb -s localhost:HOST_PORT shell ls
或者,您也可以将其设置为 ANDROID_SERIAL
环境变量,供后续 adb
命令使用:
export ANDROID_SERIAL=localhost:HOST_PORT
设置此环境变量后,您可以正常使用 adb
命令。