From 4fd4f89591fe826cf26167bccaeb2802f14fbdc8 Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Mon, 6 Aug 2018 16:16:14 -0700 Subject: Build and use minadbd as a shared library. The former `minadbd` module is now built as a shared library (`libminadbd_services.so`) that serves sideloading under recovery, with a dynamic dependency on `libadbd.so`. This allows sharing and reusing libadbd code on device (both of `adbd` and `recovery` now uses `libadbd.so`). As a result, it reduces the size of `recovery` binary from 1407360-byte to (1272880 + 33032)-byte (aosp_marlin-userdebug). Bug: 78793464 Test: `m -j bootimage` with aosp_marlin-userdebug Test: Run minadbd_test on marlin. Test: Boot into recovery and verify that sideloading still works. Change-Id: I6c2bc3d351d5af71220a9b9f956c8c039e52c781 --- Android.mk | 7 ++++++- fuse_sideload/Android.bp | 3 ++- minadbd/Android.bp | 16 +++++++++------- tests/Android.mk | 2 +- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/Android.mk b/Android.mk index 9542080ca..9d6a00fca 100644 --- a/Android.mk +++ b/Android.mk @@ -114,7 +114,6 @@ include $(BUILD_STATIC_LIBRARY) librecovery_static_libraries := \ libbootloader_message \ libfusesideload \ - libminadbd \ libminui \ libverifier \ libotautil \ @@ -157,6 +156,9 @@ LOCAL_CFLAGS := $(recovery_common_cflags) LOCAL_MODULE := librecovery +LOCAL_SHARED_LIBRARIES := \ + libminadbd_services \ + LOCAL_STATIC_LIBRARIES := \ $(librecovery_static_libraries) @@ -186,6 +188,7 @@ LOCAL_STATIC_LIBRARIES := \ $(librecovery_static_libraries) LOCAL_SHARED_LIBRARIES := \ + libminadbd_services \ librecovery_ui \ LOCAL_HAL_STATIC_LIBRARIES := libhealthd @@ -223,7 +226,9 @@ LOCAL_REQUIRED_MODULES += \ # module is built with Soong (with `recovery: true` flag). LOCAL_REQUIRED_MODULES += \ libbase.recovery \ + libcrypto.recovery \ liblog.recovery \ + libminadbd_services.recovery \ libpng.recovery \ libz.recovery \ diff --git a/fuse_sideload/Android.bp b/fuse_sideload/Android.bp index 76bc16df9..29404cea2 100644 --- a/fuse_sideload/Android.bp +++ b/fuse_sideload/Android.bp @@ -14,6 +14,7 @@ cc_library_static { name: "libfusesideload", + recovery_available: true, cflags: [ "-D_XOPEN_SOURCE", @@ -30,7 +31,7 @@ cc_library_static { "include", ], - static_libs: [ + shared_libs: [ "libbase", "libcrypto", ], diff --git a/minadbd/Android.bp b/minadbd/Android.bp index 432b2f0f5..8ccce4f42 100644 --- a/minadbd/Android.bp +++ b/minadbd/Android.bp @@ -26,8 +26,9 @@ cc_defaults { ], } -cc_library_static { - name: "libminadbd", +cc_library { + name: "libminadbd_services", + recovery_available: true, defaults: [ "minadbd_defaults", @@ -39,14 +40,14 @@ cc_library_static { "minadbd_services.cpp", ], - static_libs: [ - "libfusesideload", + shared_libs: [ + "libadbd", "libbase", "libcrypto", ], - whole_static_libs: [ - "libadbd", + static_libs: [ + "libfusesideload", ], } @@ -62,8 +63,9 @@ cc_test { ], static_libs: [ + "libminadbd_services", + "libadbd", "libBionicGtestMain", - "libminadbd", ], shared_libs: [ diff --git a/tests/Android.mk b/tests/Android.mk index 58ef3a2af..8dd454944 100644 --- a/tests/Android.mk +++ b/tests/Android.mk @@ -157,7 +157,7 @@ librecovery_static_libraries := \ librecovery \ libbootloader_message \ libfusesideload \ - libminadbd \ + libminadbd_services \ librecovery_ui_default \ librecovery_ui \ libminui \ -- cgit v1.2.3