Android 调试桥(adb)介绍

发布时间 2023-09-03 22:44:42作者: 这是个坑

一、安卓调试桥adb

Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作,例如安装和调试应用。adb 提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:

客户端:用于发送命令。客户端在开发机器上运行。您可以通过发出 adb 命令从命令行终端调用客户端。

守护程序 (adbd):用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。

服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。

adb 包含在 Android SDK 平台工具软件包中,您可以使用 SDK 管理器下载此软件包,该管理器会将其安装在 android_sdk/platform-tools/ 下.如果您需要独立的 Android SDK 平台工具软件包,地址:https://developer.android.google.cn/studio/releases/platform-tools?hl=nl

二、SDK 平台工具

Android SDK Platform-Tools 是 Android SDK 的一个组件。它包含与 Android 平台进行交互的工具,主要是 adb 和 fastboot。虽然 adb 是 Android 应用开发所必需的,但应用开发者通常仅使用 Studio 安装的副本。如果您想直接从命令行使用 adb 并且未安装 Studio,此项下载非常有用。如果您想要解锁设备的引导加载程序并为其刷入新的系统映像,则需要 fastboot。该软件包曾经包含 systrace,但已由 Studio 性能分析器、gpuinspector.dev 或 Perfetto 取代。

三、下载

如果您是 Android 开发者,则应从 Android Studio 的 SDK 管理器或通过 sdkmanager 命令行工具获取最新的 SDK Platform-Tools。这样可确保这些工具能够与其他 Android SDK 工具一起保存到正确的位置,并可轻松地进行更新。
但是,如果您只想使用这些命令行工具,请访问以下链接下载windows版本:https://dl.google.com/android/repository/platform-tools_r34.0.4-windows.zip?hl=nl, 链接不会发生变化,但始终会指向最新版本。

四、adb工作原理

当您启动某个 adb 客户端时,该客户端会先检查是否有 adb 服务器进程已在运行。如果没有,它会启动服务器进程。服务器在启动后会与本地 TCP 端口 5037 绑定,并监听 adb 客户端发出的命令

然后,服务器会与所有正在运行的设备建立连接。它通过扫描 5555 到 5585 之间(该范围供前 16 个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现 adb 守护程序 (adbd),便会与相应的端口建立连接。

服务器与所有设备均建立连接后,您便可以使用 adb 命令访问这些设备。由于服务器管理与设备的连接,并处理来自多个 adb 客户端的命令,因此您可以从任意客户端或从某个脚本控制任意设备。

五,在设备上启用abd调试

如要在通过 USB 连接的设备上使用 adb,您必须在设备的系统设置中启用 USB 调试(位于开发者选项下)。在 Android 4.2(API 级别 17)及更高版本中,开发者选项屏幕默认处于隐藏状态。如需将其显示出来,请启用开发者选项。

现在,您已经可以通过 USB 连接设备了。您可以通过从 android_sdk/platform-tools/ 目录执行 adb devices 来验证设备是否已连接。如果已连接,您将看到设备名称以“设备”形式列出。

六、停止 adb 服务器

在某些情况下,您可能需要终止 adb 服务器进程,然后重启才能解决问题。例如,如果 adb 不响应命令,就可能会发生这种情况。

如需停止 adb 服务器,请使用 adb kill-server 命令。然后,您可以通过发出其他任何 adb 命令来重启服务器。