8ee048d750
Bug: 309792384 Test: m Change-Id: I253dbee446c88e6a18718cedec090c3be1b56cfd |
||
---|---|---|
.. | ||
include/minadbd | ||
Android.bp | ||
AndroidTest.xml | ||
fuse_adb_provider.cpp | ||
fuse_adb_provider.h | ||
fuse_adb_provider_test.cpp | ||
minadbd.cpp | ||
minadbd_services.cpp | ||
minadbd_services.h | ||
minadbd_services_test.cpp | ||
OWNERS | ||
README.md |
minadbd
minadbd
is analogous to the regular adbd
, but providing the minimal services to support
recovery-specific use cases. Generally speaking, adbd
= libadbd
+ libadbd_services
, whereas
minadbd
= libadbd
+ libminadbd_services
.
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 propertysys.usb.config
, when setting toadb
ornone
respectively. Upon starting recovery mode,adbd
is started in debuggable builds by default; otherwiseadbd
will stay off at all times in user builds. See the triggers inbootable/recovery/etc/init.rc
. -
minadbd
is started byrecovery
as needed.- When requested to start
minadbd
,recovery
stopsadbd
first, if it's running; it then forks and execsminadbd
in a separate process. minadbd
talks to host-sideadb
server to get user requests.minadbd
handles some requests directly, e.g. querying device properties for rescue service.minadbd
communicates withrecovery
to fulfill requests regarding package installation. See the comments inbootable/recovery/install/adb_install.cpp
for the IPC protocol betweenrecovery
andminadbd
.
- Upon exiting
minadbd
,recovery
restartsadbd
if it was previously running.
- When requested to start