Android 调试桥(adb)的学习与使用

本文最后更新于:2023年3月1日星期三晚上10点47分

ADB 介绍

Android 调试桥(adb)是一种功能多样的命令行工具,主要用于电脑连接安卓设备,进行通信。

Android 开发者 > Android Studio > 用户指南
Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。
adb 命令可用于执行各种设备操作,例如安装和调试应用。
adb 提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。

abd 是一种客户端-服务器程序,包括以下三个组件:

  • 客户端:用于发送命令。客户端在开发机器上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
  • **守护程序 (adbd)**:用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。
  • 服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。

ADB 安装

  • Android SDK 平台工具软件包下载:
    adb 包含在 Android SDK 平台工具软件包中。
    您可以使用 SDK 管理器下载此软件包,该管理器会将其安装在 android_sdk/platform-tools/ 下。
  • 独立的 Android SDK 平台工具软件包
    点击后方链接下载:Download Platform Tools

然后,将上述目录 xxxx/plalform-tools 添加入系统环境变量

adb 的工作原理

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

注意:所有 adb 客户端均使用端口 5037 与 adb 服务器通信。

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

每个模拟器都使用一对按顺序排列的端口:一个用于控制台连接的偶数号端口,另一个用于 adb 连接的奇数号端口。例如:

模拟器 1,控制台:5554
模拟器 1,adb:5555
模拟器 2,控制台:5556
模拟器 2,adb:5557
依此类推。

如上所示,在端口 5555 处与 adb 连接的模拟器与控制台监听端口为 5554 的模拟器是同一个。

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

在设备上启用 adb 调试

  • 启用开发者选项
    在搭载 Android 4.2 及更高版本的设备上,开发者选项屏幕默认情况下处于隐藏状态。如需将其显示出来,请启用开发者选项
  • 启用 USB 调试(位于开发者选项下)

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

再使用 USB 连接设备。

To Be Continued:

还没写完涅。


Android 调试桥(adb)的学习与使用
https://muxiner.github.io/adb-learning/
作者
Muxiner
发布于
2023年3月1日
许可协议