adb的工作原理

adb的工作原理

adb的工作原理

  • adb是什么

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

客户端:用于发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令来从命令行终端调用客户端。 守护进程
(adbd):在设备上运行命令。守护进程在每个设备上作为后台进程运行。
服务器:管理客户端和守护进程之间的通信。服务器在开发机器上作为后台进程运行。 adb 包含在 Android SDK
平台工具软件包中。您可以使用 SDK 管理器下载此软件包,该管理器会将其安装在 android_sdk/platform-tools/
下。或者,如果您需要独立的 Android SDK 平台工具软件包,可以点击此处进行下载。

要了解如何连接设备以进行 adb 通信,包括如何使用 Connection Assistant
对常见问题进行排查,请参阅在硬件设备上运行应用。

  • 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
客户端的命令,因此您可以从任意客户端(或从某个脚本)控制任意设备。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100712.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号