在硬件设备上运行应用

构建 Android 应用时,务必始终先在真实设备上测试您的应用,然后再向用户发布。本页介绍了如何设置您的开发环境和 Android 设备,以便通过 Android 调试桥 (ADB) 连接进行测试和调试。

针对开发设置设备

您必须先决定要使用 USB 线还是 WLAN 连接设备,才能在设备上开始调试。然后执行以下操作:

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

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

    • Chrome 操作系统:无需其他配置。
    • macOS:无需其他配置。
    • Ubuntu Linux:需要正确进行两项设置:希望使用 adb 的每个用户都需要位于 plugdev 组中,并且需要为系统添加涵盖设备的 udev 规则。

      plugdev 组:如果您看到一条错误消息,指出您不在 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
      
    • Windows:为 ADB 安装 USB 驱动程序(如适用)。如需安装指南和 OEM 驱动程序的链接,请参阅安装 OEM USB 驱动程序文档。

使用 USB 连接到设备

做好准备并通过 USB 连接后,您可以在 Android Studio 中点击 Run 图标 ,以在设备上构建和运行您的应用

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

  • android_sdk/platform-tools/ 目录中运行 adb devices 命令,以验证您的设备是否已连接。如果已连接,您将看到该设备被列出。
  • 发出任意包含 -d 标志的 adb 命令,以将您的设备设为目标设备。

使用 WLAN 连接到设备

Android 11(及更高版本)支持使用 Android 调试桥 (adb) 从工作站以无线方式部署和调试应用。例如,您可以将可调试的应用部署到多台远程设备,而无需通过 USB 实际连接您的设备,从而避免常见的 USB 连接问题(例如驱动程序安装方面的问题)。

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

  1. 确保您的工作站和设备已连接到同一无线网络。
  2. 确保您的设备搭载的是 Android 11 或更高版本。如需了解详情,请参阅查看并更新 Android 版本
  3. 确保您已安装 Android Studio Bumblebee Canary。您可以在此处下载。
  4. 在您的工作站上,将 SDK 平台工具更新到最新版本。

如需连接到您的设备,请按以下步骤操作:

  1. 打开 Android Studio,然后从运行配置下拉菜单中选择 Pair Devices Using Wi-Fi
    运行配置下拉菜单
    图 1. 运行配置下拉菜单。

    系统会弹出 Pair devices over Wi-Fi 窗口,如下所示。
    “Pair devices over Wi-Fi”弹出式窗口的屏幕截图
    图 2. 使用二维码或配对码配对设备的弹出式窗口。
  2. 在您的设备上启用开发者选项
  3. 在您的设备上启用通过 Wi-Fi 调试
    显示“无线调试”系统设置的 Pixel 手机屏幕截图。
    图 3. Google Pixel 手机上的无线调试设置屏幕截图。
  4. 点按无线调试,然后配对您的设备:
    1. 如需使用二维码配对设备,请选择 Pair device with QR code,然后扫描在前面的步骤获取的二维码。
    2. 如需使用配对码配对设备,请从上面的 Pair devices over Wi-Fi 窗口中选择 Pair device with pairing code。在您的设备上,选择 Pair using pairing code,并记下 6 位数的 PIN 码。设备显示在 Pair devices over Wi-Fi 窗口上后,您可以选择 Pair,并输入设备上显示的 6 位数 PIN 码。
      PIN 码输入示例的屏幕截图
      图 4. 6 位数 PIN 码输入示例。
  5. 配对后,您可以尝试将应用部署到设备。

    如需与其他设备配对,或在工作站上取消保存此设备,请在设备上转到无线调试部分,在已配对的设备下点按工作站名称,然后选择取消保存

排查设备连接问题

如果您的设备未连接到 Android Studio,请尝试执行以下操作来解决问题。

使用 Connection Assistant 进行问题排查

Connection Assistant 提供了逐步说明,可帮助您通过 adb 连接来设置和使用设备。

如需启用此 Assistant,请依次选择 Tools > Troubleshoot Device Connections

Connection Assistant 在 Assistant 面板中的一系列页面中提供了说明、环境控件以及关联设备列表。根据需要,使用 Assistant 面板底部的 NextPrevious 按钮浏览页面:

  • 通过 USB 连接设备:Connection Assistant 首先提示您通过 USB 连接设备,并提供 Rescan USB devices 按钮,您可以使用该按钮启动对已连接设备的新一次扫描。
  • 启用 USB 调试:然后,Connection Assistant 会向您说明如何通过设备上的开发者选项启用 USB 调试。
  • 重新启动 ADB 服务器:最后,如果您仍未在可用设备列表中看到您的设备,可以使用 Connection Assistant 最后一页上的 Restart ADB server 按钮。重新启动 ADB 服务器还会导致 ADB 再次扫描设备。如果您仍未在可用设备列表中看到您的设备,请尝试本页下一部分中的问题排查步骤。

解决 USB 连接问题

如果 Connection Assistant 未通过 USB 检测到您的设备,您可以尝试通过以下问题排查步骤来解决问题:

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

如要检查问题是否是由 Android Studio 与 Android 模拟器的连接问题引起的,请按以下步骤操作:

  1. 打开 AVD 管理器
  2. 创建一个新的 AVD(如果您还没有 AVD)。
  3. 使用 AVD 运行模拟器
  4. 执行以下某项操作:

检查 USB 数据线

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

如果您有其他 USB 数据线:

  1. 使用辅助数据线连接设备。
  2. 检查 Connection Assistant 现在能否检测到设备。
  3. 如果未检测到设备,请再次尝试使用主数据线。
  4. 如果仍未检测到设备,则假定问题是设备所致并检查设备是否已针对开发进行设置

如果您没有其他 USB 数据线,但有其他 Android 设备:

  1. 将辅助设备连接到计算机。
  2. 如果 Connection Assistant 可以检测到辅助设备,则假定问题是主设备所致并检查设备是否已针对开发进行设置

    如果未检测到辅助设备,则问题可能是 USB 数据线所致。

检查设备是否已针对开发进行设置

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

  1. 按照针对开发设置设备部分中的步骤操作。
  2. 如果这未解决问题,请与原始设备制造商的客户服务代表联系以获取帮助。告诉客户服务代表,无法使用 adb 将设备连接到 Android Studio。

解决无线连接问题

如果您通过无线方式连接到设备时遇到问题,可以尝试通过以下问题排查步骤来解决问题。

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

若要满足无线调试的前提条件,请确保:

  1. 您的工作站和设备已连接到同一无线网络。
  2. 您的设备搭载的是 Android 11 或更高版本。如需了解详情,请参阅查看并更新 Android 版本
  3. 您具有 Android Studio Bumblebee。您可以在此处下载。
  4. 您的工作站上装有最新版本的 SDK 平台工具

检查是否存在其他已知问题

下面列出了 Android Studio 中目前已知的无线调试问题及其解决办法。

  1. 无法连接到 Wi-Fi:某些 Wi-Fi 网络(如企业 Wi-Fi 网络)可能会阻止点对点连接,并且不允许您通过 Wi-Fi 进行连接。请尝试通过网线连接,或连接其他 Wi-Fi 网络。
  2. “通过 Wi-Fi 使用 adb”的功能有时会自动关闭:如果设备切换 Wi-Fi 网络或断开网络连接,就可能会发生这种情况。

RSA 安全密钥

当您将搭载 Android 4.2.2(API 级别 17)或更高版本的设备连接到计算机时,系统会显示一个对话框,询问您是否接受允许通过此计算机进行调试的 RSA 密钥。这种安全机制可以保护用户设备,因为它可以确保只有在您能够解锁设备并确认对话框的情况下才能执行 USB 调试和其他 adb 命令。