在硬件设备上运行应用

在将 Android 应用发布给用户之前,始终在真实设备上对其进行测试。此页面介绍如何设置您的开发环境和 Android 设备,以便通过 Android 调试桥 (ADB) 连接进行测试和调试。

设置设备以进行开发

在开始在您的设备上进行调试之前,请确定您是要使用 USB 线缆还是 Wi-Fi 连接到设备。然后执行以下操作

  1. 在设备上,打开“设置”应用,选择“开发者选项”,然后启用“USB 调试”(如果适用)。

  2. 设置您的系统以检测您的设备。

    • ChromeOS:无需额外配置。
    • macOS:无需额外配置。
    • Windows:安装 ADB 的 USB 驱动程序(如果适用)。有关安装指南和 OEM 驱动程序链接,请参阅安装 OEM USB 驱动程序
    • Ubuntu Linux:设置以下内容

      • 每个想要使用 ADB 的用户都需要位于 plugdev 组中。如果您看到错误消息,提示您不在 plugdev 组中,请使用以下命令将自己添加到该组中
      sudo usermod -aG plugdev $LOGNAME
      

      组仅在登录时更新,因此您必须注销才能使此更改生效。登录后,您可以使用 id 检查您是否在 plugdev 组中。

      • 系统需要安装涵盖该设备的 udev 规则。 android-sdk-platform-tools-common 包含一套社区维护的 Android 设备 udev 规则默认集。要安装它,请使用以下命令
      apt-get install android-sdk-platform-tools-common
      

使用 USB 连接到您的设备

设置完毕并通过 USB 插上后,点击 Android Studio 中的运行 构建和运行您的应用在设备上。

您还可以使用adb发出命令,如下所示

  • 通过从您的 android_sdk/platform-tools/ 目录运行 adb devices 命令来验证您的设备是否已连接。如果已连接,您将看到设备列表。
  • 使用 -d 标志发出任何adb 命令以将目标设置为您的设备。

使用 Wi-Fi 连接到您的设备

Android 11 及更高版本支持通过 Android 调试桥 (ADB) 从您的工作站无线部署和调试您的应用。例如,您可以将可调试的应用部署到多个远程设备,而无需通过 USB 物理连接设备并处理常见的 USB 连接问题,例如驱动程序安装。

要使用无线调试,您需要使用配对码将您的设备与工作站配对。首先,请完成以下步骤

  1. 确保您的工作站和设备连接到相同的无线网络。
  2. 确保您的设备运行 Android 11 或更高版本。有关更多信息,请参阅检查和更新您的 Android 版本
  3. 确保您已安装最新版本的 Android Studio。在此处下载
  4. 在您的工作站上,更新到最新版本的SDK 平台工具

要连接到您的设备,请按照以下步骤操作

  1. 打开 Android Studio,然后从运行配置菜单中选择使用 Wi-Fi 配对设备
    Run configurations drop-down
    图 1. 运行配置菜单。

    将出现通过 Wi-Fi 配对设备对话框,如图 2 所示。
    Screenshot of the pair devices over Wi-Fi popup window
    图 2. 使用 QR 码或配对码配对设备的对话框。
  2. 在您的设备上启用开发者选项
  3. 在您的设备上启用通过 Wi-Fi 进行调试
    Screenshot of a pixel phone showing the Wireless debugging
      systems setting.
    图 3. Google Pixel 手机上的无线调试设置。
  4. 点击无线调试并配对您的设备
    1. 要使用 QR 码配对您的设备,请选择使用 QR 码配对设备并扫描图 2 中显示的 QR 码。
    2. 要使用配对码配对您的设备,请从通过 Wi-Fi 配对新设备对话框中选择使用配对码配对设备。在您的设备上,选择使用配对码配对。将显示一个六位数代码。您的设备出现在通过 Wi-Fi 配对设备窗口中后,输入设备上显示的六位数代码,然后选择配对
      Screenshot of example pairing code entry
      图 4. 六位数配对码输入示例。
  5. 配对后,您可以尝试将您的应用部署到您的设备。

要配对不同的设备或忘记工作站上的此设备

  1. 导航到设备上的无线调试
  2. 已配对设备下点击您的工作站名称。
  3. 选择忘记

设备镜像

您可以在 Android Studio 的正在运行的设备窗口中镜像您的物理设备。通过将设备的显示屏直接流式传输到 Android Studio,您可以使用 Studio IDE 本身执行常见的操作,例如启动应用并与之交互、旋转屏幕、折叠和展开手机以及更改音量。

当连接到计算机的设备启用了 USB 或无线调试时,始终可以使用设备镜像。您可以使用正在运行的设备窗口或设备管理器查看 > 工具窗口 > 设备管理器)启动和停止镜像。您也可以在设置中自定义设备镜像的激活时间(设置 > 工具 > 设备镜像)。

Running Devices UI

重定向音频

使用设备镜像时,您可以将连接的物理设备的音频重定向到计算机扬声器或耳机。使用音频重定向,请将耳机连接到计算机,并同时收听计算机和连接的手机,而无需手动重新连接到一个设备,然后再连接到另一个设备。要启用音频重定向,请转到文件(macOS 上的Android Studio)>设置>工具>设备镜像,然后选择重定向来自本地设备的音频。请注意,对于运行 Android 12 或更高版本的 Firebase 测试实验室设备,无论设置如何,音频始终会被重定向。

已知问题

某些设备可能无法以足以支持设备镜像的比特率进行编码。在这些情况下,您可能会在正在运行的设备窗口中看到错误,以及类似于以下内容的日志。

2023-06-01 15:32:22,675 [  56094]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - Too many video encoder errors:
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - encoder: c2.android.vp8.encoder
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - mime type: video/x-vnd.on2.vp8
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max resolution: 640x640
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - min resolution: 2x2
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - alignment: 2x2
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate: 960
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate for 288x640: 960
2023-06-01 15:32:22,870 [  56289]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max bitrate: 20000000
2023-06-01 15:32:22,871 [  56290]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - terminated with code 1

隐私声明

根据设备镜像设置,Android Studio 可以自动为任何连接和配对的设备启动设备镜像。这可能会导致使用 adb tcpip 命令连接的设备的信息泄露,因为镜像信息和命令通过非加密通道传递。此外,Android Studio 使用非加密通道与 adb 服务器通信,因此镜像信息可能会被主机上的其他用户拦截。

排查设备连接问题

如果您的设备未连接到 Android Studio,请尝试以下步骤解决此问题

使用连接助手进行排查

连接助手提供分步说明,以帮助您设置和通过 ADB 连接使用设备。

要启动助手,请选择工具 > 排查设备连接

连接助手在助手面板中的一系列页面中提供说明、上下文控件和已连接设备列表。根据需要使用助手面板底部的下一步上一步按钮浏览页面

  • 通过 USB 连接您的设备:连接助手首先提示您通过 USB 连接设备,并提供重新扫描 USB 设备按钮,您可以在其中启动对已连接设备的新扫描。
  • 启用 USB 调试:然后,连接助手会告诉您如何在设备上的开发者选项中启用 USB 调试。
  • 重启 ADB 服务器:如果您仍然在可用设备列表中看不到您的设备,请使用连接助手最后一页上的重启 ADB 服务器按钮。重启 ADB 服务器还会导致 ADB 再次扫描设备。如果您仍然在可用设备列表中看不到您的设备,请尝试以下部分中的故障排除步骤。

解决 USB 连接问题

如果连接助手未通过 USB 检测到您的设备,请尝试以下故障排除步骤解决此问题

检查 Android Studio 是否连接到 Android 模拟器

要检查问题是否由 Android Studio 和 Android 模拟器之间的连接问题引起,请按照以下步骤操作

  1. 打开设备管理器
  2. 如果您还没有 AVD,请创建一个新的 AVD
  3. 使用您的 AVD运行模拟器
  4. 执行以下操作之一
    • 如果 Android Studio 无法连接到模拟器,请下载最新的SDK 平台工具,然后重试。
    • 如果模拟器成功启动,请按照下一部分中的说明检查 USB 线缆。

检查 USB 线缆

要检查问题是否由 USB 线缆故障引起,请按照本部分中的步骤操作。

如果您有另一根 USB 线缆

  1. 使用辅助线缆连接设备。
  2. 检查连接助手现在是否可以检测到设备。
  3. 如果未检测到设备,请再次尝试使用主线缆。
  4. 如果仍然未检测到设备,则假定问题出在设备上,并检查设备是否已设置为开发模式,如下一部分所述。

如果您没有另一根 USB 线缆,但您有另一台 Android 设备

  1. 将辅助设备连接到您的计算机。
  2. 如果连接助手可以检测到辅助设备,则假定问题出在主设备上,并检查设备是否已设置为开发模式

    如果未检测到辅助设备,则问题可能出在 USB 线缆上。

检查设备是否已设置为开发模式

要检查问题是否由设备上的设置引起,请按照以下步骤操作

  1. 按照设置设备以进行开发部分中的步骤操作。
  2. 如果这不能解决问题,请联系设备 OEM 的客户支持寻求帮助。告诉客户支持代表该设备无法使用 ADB 连接到 Android Studio。

解决无线连接问题

如果您在无线连接到设备时遇到问题,您可以尝试以下故障排除步骤解决此问题

检查您的工作站和设备是否满足先决条件

要满足无线调试的先决条件,请确保

检查其他已知问题

以下是 Android Studio 中无线调试的当前已知问题列表以及如何解决这些问题

  • Wi-Fi 未连接:某些 Wi-Fi 网络(例如公司 Wi-Fi 网络)可能会阻止点对点连接,并且不允许您通过 Wi-Fi 连接。尝试使用线缆或其他 Wi-Fi 网络连接。

  • 通过 Wi-Fi 使用 ADB 时有时会自动关闭:如果设备切换 Wi-Fi 网络或断开网络连接,可能会发生这种情况。

RSA 安全密钥

当您将运行 Android 4.2.2(API 级别 17)或更高版本的设备连接到计算机时,系统会显示一个对话框,询问您是否接受允许通过此计算机进行调试的 RSA 密钥。此安全机制保护用户设备,因为除非您可以解锁设备并确认对话框,否则无法执行 USB 调试和其他adb命令。