Reland "Build and use minadbd as a shared library."
This relands the previously reverted CL in commit
c70446ce7b4db79f296833b16ce38eb8a01d83df ("Build and use minadbd as a
shared library."). `recovery` has been built with Soong, so the previous
concern (unintentionally installing `libminadbd_services.so` to normal
system image) no longer holds.
Note that `reocvery` can't use `libminadbd_services.a`, as functions
like `daemon_service_to_fd()` (needed by `libadbd.so`) won't be linked
into `recovery`.
This CL moves the dependency of `libminadbd_services` from `librecovery`
into `recovery`, as only the latter actually relies on it (via
`recovery_main.cpp`). Note that we no longer need to list the transitive
dependency on `libadbd` or `libasyncio`.
Bug: 112494634
Test: `mmma -j bootable/recovery`
Test: Build and boot into recovery with aosp_taimen-userdebug. Verify that
sideloading keeps working.
Test: `build/soong/build_test.bash --dist`
Change-Id: Ic086470b86d6770bede317e0f5534f608fa7b7d2
diff --git a/Android.bp b/Android.bp
index 99e8b65..630c796 100644
--- a/Android.bp
+++ b/Android.bp
@@ -104,7 +104,6 @@
],
shared_libs: [
- "libasyncio",
"libbase",
"libbootloader_message",
"libcrypto",
@@ -125,7 +124,6 @@
],
static_libs: [
- "libminadbd",
"libminui",
"libverifier",
"libotautil",
@@ -206,6 +204,7 @@
],
shared_libs: [
+ "libminadbd_services",
"librecovery_ui",
],
diff --git a/minadbd/Android.bp b/minadbd/Android.bp
index 3689679..00244ee 100644
--- a/minadbd/Android.bp
+++ b/minadbd/Android.bp
@@ -26,8 +26,10 @@
],
}
-cc_library_static {
- name: "libminadbd",
+// `libminadbd_services` is analogous to the `libadbd_services` for regular `adbd`, but providing
+// the sideload service only.
+cc_library {
+ name: "libminadbd_services",
recovery_available: true,
defaults: [
@@ -40,14 +42,11 @@
"minadbd_services.cpp",
],
- static_libs: [
- "libfusesideload",
+ shared_libs: [
+ "libadbd",
"libbase",
"libcrypto",
- ],
-
- whole_static_libs: [
- "libadbd",
+ "libfusesideload",
],
}
@@ -63,8 +62,9 @@
],
static_libs: [
+ "libminadbd_services",
+ "libadbd",
"libBionicGtestMain",
- "libminadbd",
],
shared_libs: [
diff --git a/tests/Android.mk b/tests/Android.mk
index ef64d76..b6f5b45 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -170,14 +170,12 @@
librecovery \
libbootloader_message \
libfusesideload \
- libminadbd \
librecovery_ui_default \
librecovery_ui \
libminui \
libverifier \
libotautil \
$(health_hal_static_libraries) \
- libasyncio \
libcrypto_utils \
libcrypto \
libext4_utils \