Android 调试桥 (ADB) 通过 USB、WiFi 连接至设备

⚡ 智能摘要

Android 调试桥将工作站连接到模拟器或物理手机,打开 shell,安装构建版本,并通过 USB 电缆或无线链路将设备暴露给自动化工具。

  • ???? 三个部分: ADB 既是客户端,又是 TCP 端口 5037 上的后台服务器,还是在设备上运行的守护进程。
  • ☑️ 首要要求: 必须在“开发者选项”中启用 USB 调试,设备才会显示出来。
  • 请验证链接: adb devices 命令会列出所有已连接的模拟器和手机及其序列号。
  • 🧪 Target 一台设备: adb -s当多个设备连接时,向单个设备发送命令。
  • 🛠️ 无线选项: adb tcpip 5555 然后 adb connect 将现有会话转移到 Wi-Fi。
  • 📊 现代设备: Android 11 及更高版本可通过 Wi-Fi 与 adb 对接,因此完全不需要电缆。

Android 调试桥接器通过 USB 和 Wi-Fi 连接设备

什么是 Android 调试桥(ADB)?

Android 调试桥接器 (ADB) 是一个命令行工具,可用于与设备通信。它连接模拟器实例 (Android 设备)和后台守护进程(服务器),因此您可以通过 Unix shell 安装构建、调试设备和运行命令。

使用真实设备进行移动自动化 测试 一直以来都是个挑战。 Android 提供通过 USB(通用串行总线)连接的解决方案——即 Android 调试桥接。

USB 调试和 ADB 配置

Appium 可以在真实设备上执行测试,但必须先设置以下先决条件。

  • 应启用 USB 调试
  • ADB 配置
  • 根据硬件变化设置所需的功能。

我们将介绍模拟器和真机两种操作方法。首先介绍模拟器的操作步骤。

如何连接模拟器

前提条件:计算机上必须安装 SDK(软件开发工具包)。ADB 在 Android 包装内含 Google“ Android SDK。

从 SDK 管理器启用 ADB 的步骤。

步骤1) 可选 Android SDK 文件夹

步骤2) Double 点击 SDK 管理器

步骤3) 从所有软件包列表中选择工具并勾选

  • Android SDK 工具和
  • Android SDK 平台工具。

下面显示的是 SDK 管理器软件包列表,其中两个条目均已勾选。

Android SDK 管理器软件包列表 Android 已选择 SDK 工具和平台工具

⚠️ 版本说明: 上述独立 SDK 管理器已在 SDK 工具 25.2.3 中弃用,其启动器已在 25.3.0 中移除。从以下位置打开相同的软件包列表: Android Studio (工具 > SDK 管理器)或 sdkmanager CLI。该软件包仍然 Android SDK平台工具, 其中包含 adb.

如何连接 Android 带有 ADB 的设备 (Android 调试桥)

步骤1) 在您的设备上启用 USB 调试

在“开发者选项”中启用 USB 调试选项 Android 然后,将手机通过 USB 数据线连接到电脑,如图所示。

在“开发者选项”中启用了 USB 调试开关 Android 电话

步骤2) 去 Android SDK 文件夹

打开文件夹,该文件夹位于 Android SDK 文件已保存,“Android SDK >> 平台工具——例如 C:\android-sdk\platform-tools,如下所示。

Windows 资源管理器打开平台工具文件夹。 Android 软件开发套件(SDK)

步骤3) 打开命令窗口

在文件夹内,握住 Shift 然后使用右键菜单 >> 选择“在此处打开命令窗口”,如下图所示。您也可以通过“运行”命令访问文件夹路径。

Shift 此外,右键单击上下文菜单会显示“在此处打开命令窗口”。

命令提示符随即打开,并已指向 platform-tools 文件夹。

命令提示符窗口直接在 platform-tools 目录中打开。

步骤4) 连接外部设备 Android 设备

连接外部设备 Android 将设备(手机)连接到 USB 数据线。然后,在上方的命令提示符窗口中输入:

'adb devices' & press Enter

它会显示所有已连接设备的列表,如下所示。

使用 adb devices 命令在命令行中列出已连接的设备序列号。

首先检查 ADB 服务器是否在后台运行:在同一命令提示符窗口中输入“adb”并按回车键。它应该会列出正在运行的 adb 进程。

服务器启动时会绑定本地 TCP 端口 5037。所有 ADB 客户端都使用端口 5037 连接到服务器,然后服务器会扫描端口以查找每个已连接的模拟器或设备实例。

ADB 守护进程运行在奇数端口上,而与之匹配的模拟器控制台则占用旁边的偶数端口。 Android“ 亚洲开发银行文件 将扫描范围设为奇数端口 5555 到 5585,涵盖前 16 个模拟器。

如果只连接了一台设备,服务器会自动查找并连接。如果运行多台设备或模拟器,则必须在命令行中指定目标。例如,奇数端口 5557 上的实例,其控制台位于偶数端口 5556 上——每个实例都使用一个奇数端口和一个偶数端口。

emulator 1: console 5556
emulator 1: adb 5557
emulator 2: console 5554
emulator 2: adb 5555

检测所有已连接设备的命令:

<$ adb devices>
emulator-5554 device
emulator-5556 device
emulator-5558 device

从多个已连接设备中检测单个设备的命令:

<$ adb -s emulator-5554 install Guru99.apk>

它针对设备 5554 的 adb 连接并安装应用程序——这就是从命令行访问单个 ADB 实例的方法。

Syntax used to access ADB instances from the command line:
adb -d — An adb command when a single USB device is connected
adb -e — An adb command when only a single emulator is running
adb devices — This will print the list of emulators / devices attached.
adb version — List the adb version number.
adb help — Print the list of supported commands.

如何配置 ADB 以支持 Wi-Fi

ADB 也可以通过 Wi-Fi 进行配置,这样在长时间使用过程中,手机就可以摆脱线缆的束缚。 Appium 运行。

先决条件

  • 两个 Android 设备和主机应该连接到同一个无线网络,并且
  • 应禁用设备的蓝牙功能。

连接步骤:

  1. 使用 USB 数据线将设备连接到主机。确认设备上已启用 USB 调试功能。
  2. 将目标设备设置为监听端口 5555 上的 TCP/IP 连接。
    $ adb tcpip 5555

命令提示符确认已切换到 TCP/IP 模式,如下所示。

命令提示符显示 adb tcpip 5555 命令,该命令正在以 TCP 模式重启守护进程。

  1. 现在断开设备上的USB连接线。
  2. 在设备上,依次点击“设置”>>“Wi-Fi设置”>>“高级”>>“IP地址”查找IP地址。连接到该IP地址,然后确认会话。
    $ adb connect 148.100.1.17:5555
    $ adb devices
    List of devices attached
    148.100.1.17:5555 device

配置现已完成,'adb' 正在通过无线网络工作。

⚠️ 版本说明: 上述电缆优先顺序仍然是唯一的途径 Android 10 及以下。 Android 版本 11(API 30)及更高版本新增无线调试功能:在开发者选项中启用,选择 使用配对码进行配对,然后运行 adb pair ipaddr:port 输入代码即可。无需数据线。

注意:如果发生连接错误,请终止下面的 adb 主机连接,然后从第一步重新连接。

$ adb kill-server

如果你在寻找模拟器,请看这里 最好的清单 Android 模拟器 Windows.

常见问题

手机上的 RSA 密钥提示始终未被接受。请解锁屏幕,重新连接数据线,然后点击“允许 USB 调试”。如果未出现提示,请在“开发者选项”中撤销 USB 调试授权,然后重试。

机器学习组几乎完全相同的堆栈 traces 从 logcat 中提取信息,按受影响的会话对崩溃进行排名,并标记可能导致回归的第一个提交,这样测试人员只需阅读少量集群信息,而不是数千行信息。

Copilot 会定期循环检查 adb 设备,并从注释中获取安装和拉取命令。务必先在一台手机上验证每个生成的命令,因为错误的标志可能会在没有确认提示的情况下清除应用程序数据。

使用 adb install 命令并指定 APK 文件的路径,添加 -r 参数可以覆盖安装现有版本,使用 adb uninstall 命令并指定包名可以卸载该包。添加 -s 参数可以指定目标设备。

确认 USB 调试已开启,尝试使用支持数据传输而非仅支持充电的线缆,并在设备上安装制造商提供的 USB 驱动程序。 Windows然后运行 ​​adb kill-server,再运行 adb devices 来重启守护进程。

adb tcpip 命令可以将现有的 USB 会话切换到网络端口,并且适用于所有版本。adb pair 命令使用新增的无线调试屏幕。 Android 11,全程无需电缆。

不。adb 二进制文件包含在……之中。 Android SDK平台工具包可以单独下载。将该文件夹添加到您的PATH环境变量中,即可在任何目录中使用该命令。

运行 `adb logcat` 命令以流式传输系统日志,然后运行 ​​`adb logcat > log.txt` 命令以保存日志。如果需要为缺陷提供证据,请运行 `adb bugreport` 命令以生成完整的诊断存档。

总结一下这篇文章: