minadbd is analogous to the regular
adbd, but providing the minimal services to support recovery-specific use cases. Generally speaking,
Although both modules may be installed into the recovery image, only one of them, or none, can be active at any given time.
The start / stop of
adbd is managed via system property
sys.usb.config, when setting to
none respectively. Upon starting recovery mode,
adbd is started in debuggable builds by default; otherwise
adbd will stay off at all times in user builds. See the triggers in
minadbd is started by
recovery as needed.
adbdfirst, if it's running; it then forks and execs
minadbdin a separate process.
minadbdtalks to host-side
adbserver to get user requests.
minadbdhandles some requests directly, e.g. querying device properties for rescue service.
recoveryto fulfill requests regarding package installation. See the comments in
bootable/recovery/install/adb_install.cppfor the IPC protocol between
adbdif it was previously running.