在向用户发布 Android 应用之前,务必在真实设备上对其进行测试。本页介绍了如何设置开发环境和 Android 设备,以便通过 Android 调试桥 (ADB) 连接进行测试和调试。
设置开发设备
在设备上开始调试之前,请先确定是要使用 USB 线缆还是 Wi-Fi 连接到设备。然后执行以下操作:
在设备上,打开设置应用,选择开发者选项,然后启用USB 调试(如果适用)。
设置系统以检测您的设备。
- 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
- 每个想要使用 ADB 的用户都需要属于
使用 USB 连接到设备
设置完成并通过 USB 连接后,在 Android Studio 中点击运行 以在设备上构建并运行您的应用。
您也可以使用 adb
发出命令,如下所示:
- 通过从
android_sdk/platform-tools/
目录运行adb devices
命令来验证您的设备是否已连接。如果已连接,您将看到设备列表。 - 使用
-d
标志发出任何adb
命令以定位您的设备。
使用 Wi-Fi 连接到设备
Android 11 及更高版本支持通过 Android 调试桥 (ADB) 从工作站无线部署和调试您的应用。例如,您可以将可调试的应用部署到多个远程设备,而无需通过 USB 物理连接您的设备,也无需处理常见的 USB 连接问题,例如驱动程序安装。
要使用无线调试,您需要使用配对码将设备与工作站配对。首先,请完成以下步骤:
- 确保您的工作站和设备连接到同一个无线网络。
- 确保您的设备运行的是 Android 11 或更高版本。如需了解详情,请参阅检查和更新您的 Android 版本。
- 确保您已安装最新版本的 Android Studio。在此处下载。
- 在您的工作站上,更新到最新版本的 SDK Platform Tools。
要连接到您的设备,请按照以下步骤操作:
- 打开 Android Studio,然后从运行配置菜单中选择通过 Wi-Fi 配对设备。
图 1. 运行配置菜单。
图 2. 使用 QR 码或配对码配对设备的对话框。 - 在您的设备上启用开发者选项。
- 在您的设备上启用通过 Wi-Fi 调试。
图 3. Google Pixel 手机上的无线调试设置。 - 轻触无线调试并配对您的设备
- 要使用 QR 码配对设备,请选择使用 QR 码配对设备,然后扫描图 2 中所示的 QR 码。
- 要使用配对码配对设备,请从通过 Wi-Fi 配对新设备对话框中选择使用配对码配对设备。在您的设备上,选择使用配对码配对。此时会显示一个六位数代码。当您的设备出现在通过 Wi-Fi 配对设备窗口中时,输入您设备上显示的六位数代码,然后选择配对。
图 4. 六位数配对码输入示例。
- 配对后,您可以尝试将您的应用部署到您的设备。
要配对其他设备或在您的工作站上忘记此设备
- 在您的设备上导航到无线调试。
- 在已配对设备下轻触您的工作站名称。
- 选择忘记。
设备镜像
您可以在 Android Studio 的运行设备窗口中镜像您的实体设备。通过将设备的显示内容直接流式传输到 Android Studio,您可以使用 Studio IDE 本身执行常见操作,例如启动应用并与之互动、旋转屏幕、折叠和展开手机以及更改音量。
当有设备连接到计算机并启用了 USB 或无线调试时,设备镜像始终可用。您可以使用运行设备窗口或设备管理器(视图 > 工具窗口 > 设备管理器)启动和停止镜像。您还可以通过其设置(设置 > 工具 > 设备镜像)自定义设备镜像何时激活。
重定向音频
使用设备镜像时,您可以将连接的实体设备中的音频重定向到您的电脑扬声器或耳机。借助音频重定向功能,您可以让耳机连接到电脑,同时收听电脑和连接的手机,而无需手动重新连接到一台设备再连接到另一台设备。要启用音频重定向,请依次前往文件(macOS 上的 Android Studio)> 设置 > 工具 > 设备镜像,然后选择从本地设备重定向音频。请注意,对于运行 Android 12 或更高版本的 Firebase Test Lab 设备,无论设置如何,音频始终会被重定向。
已知问题
某些设备可能无法以足以支持设备镜像的比特率进行编码。在这种情况下,您可能会在运行设备窗口中看到错误,以及类似于以下的日志。
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 模拟器之间的连接问题引起,请按照以下步骤操作:
- 打开设备管理器。
- 如果您还没有 创建新的 AVD。
- 使用您的 AVD 运行模拟器。
- 执行以下操作之一:
- 如果 Android Studio 无法连接到模拟器,请下载最新版本的 SDK Platform Tools,然后重试。
- 如果模拟器成功启动,请按照下一节中的说明检查 USB 线缆。
检查 USB 线缆
要检查问题是否由有故障的 USB 线缆引起,请按照本节中的步骤操作。
如果您有另一根 USB 线缆
- 使用备用线缆连接设备。
- 检查连接助手现在是否可以检测到设备。
- 如果设备未检测到,请再次尝试使用主线缆。
- 如果设备仍然未检测到,请假定问题出在设备上,并按照下一节中的说明检查设备是否已设置为开发用途。
如果您没有其他 USB 线缆,但有另一台 Android 设备
- 将备用设备连接到您的计算机。
如果连接助手可以检测到备用设备,则假定问题出在主设备上,然后检查设备是否已设置为开发用途。
如果备用设备未检测到,则问题可能出在 USB 线缆上。
检查设备是否已设置为开发用途
要检查问题是否由设备上的设置引起,请按照以下步骤操作:
- 按照设置开发设备一节中的步骤操作。
- 如果这无法解决问题,请联系设备 OEM 的客户支持寻求帮助。告诉客户支持代表,设备无法使用 ADB 连接到 Android Studio。
解决无线连接问题
如果您在无线连接设备时遇到问题,可以尝试以下问题排查步骤来解决问题:
检查您的工作站和设备是否满足前提条件
为了满足无线调试的前提条件,请确保:
- 您的工作站和设备连接到同一个无线网络。
- 您的设备运行的是 Android 11 或更高版本。如需了解详情,请参阅检查和更新您的 Android 版本。
- 您拥有最新版本的 Android Studio。您可以从Android Studio 主页下载。
- 您的工作站上拥有最新版本的 SDK Platform Tools。
检查其他已知问题
以下是 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
命令。