adbd 模块用于管理命令行 adb 和 IDE 调试会话。此模块是可更新的,这意味着它可在 Android 常规发布周期外的时间接收功能更新。
对 adbd 进行模块化处理可以更快地实现性能改进(前几年做出的改进以及即将推出的新改进)、bug 修复(如几个耗电 bug,其中包括 adbd 在 CPU 占用率达到 100% 时继续运行,直到电池电量耗尽)以及尚未向后移植到旧版 Android 的功能。此类改进有助于确保 adbd 可靠性,对于自动化测试(其中的故障会迫使应用开发者和 OEM 手动重新插拔/重启离线设备)而言,这至关重要。可靠性问题也会影响到出厂设置 (OEM) 和电路板组装(SoC 供应商)。
模块边界
对于 Android 12 及更高版本,adbd 模块代码为 packages/modules/adbd
。
对于 Android 11 及更低版本,adbd 模块边界为 /system/core/adb
和 /system/bin/adbd
。
模块格式
adbd 模块 (com.android.adbd
) 采用 APEX 格式,适用于搭载 Android 11 或更高版本的设备。
模块依赖项
adbd 模块依赖于以下几项。
Java 调试线协议 (JDWP) 调试协议与 Android 运行时。adbd 动态链接到
libadbconnection_server
。向
system_server
进行身份验证。adbd 动态链接到libadbd_auth
。
自定义
adbd 模块不支持自定义。