The adbd module manages command-line adb and IDE debugging sessions. This module is updatable, meaning it can receive updates to functionality outside of the normal Android release cycle.
Modularizing adbd enables faster delivery of performance improvements (those made in previous years and new improvements yet to come), bug fixes (such as several power-drain bugs, including adbd continuing at 100% of a CPU until the battery depletes), and features that haven't been backported to older versions of Android. Such improvements contribute to adbd reliability, which is critical for automated testing where failures can force app developers and OEMs to manually replug/restart offline devices. Reliability issues also affect factory setup (OEMs) and board bringup (SoC vendors).
Module boundary
For Android 12 and higher, the adbd module code is
packages/modules/adbd
.
For Android 11 and lower, the adbd module boundaries
are /system/core/adb
and /system/bin/adbd
.
Module format
The adbd module (com.android.adbd
) is in
APEX format and is available for devices
running Android 11 or higher.
Module dependences
The adbd module depends on the following.
Java Debug Wire Protocol (JDWP) debugging protocol with Android runtime. adbd dynamically links against
libadbconnection_server
.Authentication with
system_server
. adbd dynamically links againstlibadbd_auth
.
Customization
The adbd module doesn't support customization.