在将 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 平台工具。
要连接到您的设备,请按照以下步骤操作
- 打开 Android Studio,然后从运行配置菜单中选择使用 Wi-Fi 配对设备。
- 在您的设备上启用开发者选项。
- 在您的设备上启用通过 Wi-Fi 进行调试。
- 点击无线调试并配对您的设备
- 要使用 QR 码配对您的设备,请选择使用 QR 码配对设备并扫描图 2 中显示的 QR 码。
- 要使用配对码配对您的设备,请从通过 Wi-Fi 配对新设备对话框中选择使用配对码配对设备。在您的设备上,选择使用配对码配对。将显示一个六位数代码。您的设备出现在通过 Wi-Fi 配对设备窗口中后,输入设备上显示的六位数代码,然后选择配对。
- 配对后,您可以尝试将您的应用部署到您的设备。
要配对不同的设备或忘记工作站上的此设备
- 导航到设备上的无线调试。
- 在已配对设备下点击您的工作站名称。
- 选择忘记。
设备镜像
您可以在 Android Studio 的正在运行的设备窗口中镜像您的物理设备。通过将设备的显示屏直接流式传输到 Android Studio,您可以使用 Studio IDE 本身执行常见的操作,例如启动应用并与之交互、旋转屏幕、折叠和展开手机以及更改音量。
当连接到计算机的设备启用了 USB 或无线调试时,始终可以使用设备镜像。您可以使用正在运行的设备窗口或设备管理器(查看 > 工具窗口 > 设备管理器)启动和停止镜像。您也可以在设置中自定义设备镜像的激活时间(设置 > 工具 > 设备镜像)。
重定向音频
使用设备镜像时,您可以将连接的物理设备的音频重定向到计算机扬声器或耳机。使用音频重定向,请将耳机连接到计算机,并同时收听计算机和连接的手机,而无需手动重新连接到一个设备,然后再连接到另一个设备。要启用音频重定向,请转到文件(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 模拟器之间的连接问题引起,请按照以下步骤操作
- 打开设备管理器。
- 如果您还没有 AVD,请创建一个新的 AVD。
- 使用您的 AVD运行模拟器。
- 执行以下操作之一
- 如果 Android Studio 无法连接到模拟器,请下载最新的SDK 平台工具,然后重试。
- 如果模拟器成功启动,请按照下一部分中的说明检查 USB 线缆。
检查 USB 线缆
要检查问题是否由 USB 线缆故障引起,请按照本部分中的步骤操作。
如果您有另一根 USB 线缆
- 使用辅助线缆连接设备。
- 检查连接助手现在是否可以检测到设备。
- 如果未检测到设备,请再次尝试使用主线缆。
- 如果仍然未检测到设备,则假定问题出在设备上,并检查设备是否已设置为开发模式,如下一部分所述。
如果您没有另一根 USB 线缆,但您有另一台 Android 设备
- 将辅助设备连接到您的计算机。
如果连接助手可以检测到辅助设备,则假定问题出在主设备上,并检查设备是否已设置为开发模式。
如果未检测到辅助设备,则问题可能出在 USB 线缆上。
检查设备是否已设置为开发模式
要检查问题是否由设备上的设置引起,请按照以下步骤操作
- 按照设置设备以进行开发部分中的步骤操作。
- 如果这不能解决问题,请联系设备 OEM 的客户支持寻求帮助。告诉客户支持代表该设备无法使用 ADB 连接到 Android Studio。
解决无线连接问题
如果您在无线连接到设备时遇到问题,您可以尝试以下故障排除步骤解决此问题
检查您的工作站和设备是否满足先决条件
要满足无线调试的先决条件,请确保
- 您的工作站和设备连接到相同的无线网络。
- 您的设备运行 Android 11 或更高版本。有关更多信息,请参阅检查和更新您的 Android 版本。
- 您拥有最新版本的 Android Studio。您可以从Android Studio 主页下载它。
- 您的工作站上拥有最新版本的SDK 平台工具。
检查其他已知问题
以下是 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
命令。