`recovery` uses more shared libraries.
Bug: 110380063
Test: `m -j installclean && mmma -j bootable/recovery` with
aosp_taimen-userdebug
Test: Build (`m -j bootimage`) and boot into recovery. Check that
`adb sideload` and `Run graphics test` both work.
Test: Run recovery_unit_test and recovery_component_test on marlin.
Change-Id: Ie6ed0e7cafa352d5faff9d1b6ccef724a0415e65
diff --git a/Android.bp b/Android.bp
index 22c90bd..97126f5 100644
--- a/Android.bp
+++ b/Android.bp
@@ -16,6 +16,11 @@
name: "recovery_defaults",
cflags: [
+ "-D_FILE_OFFSET_BITS=64",
+
+ // Must be the same as RECOVERY_API_VERSION.
+ "-DRECOVERY_API_VERSION=3",
+
"-Wall",
"-Werror",
],
@@ -24,6 +29,7 @@
// Generic device that uses ScreenRecoveryUI.
cc_library_static {
name: "librecovery_ui_default",
+ recovery_available: true,
defaults: [
"recovery_defaults",
@@ -37,6 +43,7 @@
// The default wear device that uses WearRecoveryUI.
cc_library_static {
name: "librecovery_ui_wear",
+ recovery_available: true,
defaults: [
"recovery_defaults",
@@ -50,6 +57,7 @@
// The default VR device that uses VrRecoveryUI.
cc_library_static {
name: "librecovery_ui_vr",
+ recovery_available: true,
defaults: [
"recovery_defaults",
@@ -62,6 +70,7 @@
cc_library_static {
name: "libverifier",
+ recovery_available: true,
defaults: [
"recovery_defaults",
@@ -72,10 +81,13 @@
"verifier.cpp",
],
- static_libs: [
+ shared_libs: [
"libbase",
"libcrypto",
"libcrypto_utils",
+ ],
+
+ static_libs: [
"libotautil",
],
}
diff --git a/Android.mk b/Android.mk
index b25c1f0..3c34099 100644
--- a/Android.mk
+++ b/Android.mk
@@ -125,31 +125,32 @@
libbatterymonitor
librecovery_static_libraries := \
- libbootloader_message \
libfusesideload \
libminadbd \
libminui \
libverifier \
libotautil \
$(health_hal_static_libraries) \
- libasyncio \
- libcrypto_utils \
- libcrypto \
- libext4_utils \
- libfs_mgr \
- libpng \
- libsparse \
libvintf_recovery \
libvintf \
- libhidl-gen-utils \
- libtinyxml2 \
- libziparchive \
+
+librecovery_shared_libraries := \
+ libasyncio \
libbase \
- libutils \
+ libbootloader_message \
+ libcrypto \
+ libcrypto_utils \
libcutils \
+ libext4_utils \
+ libfs_mgr \
+ libhidl-gen-utils \
liblog \
+ libpng \
libselinux \
+ libtinyxml2 \
+ libutils \
libz \
+ libziparchive \
# librecovery (static library)
# ===============================
@@ -173,6 +174,9 @@
LOCAL_STATIC_LIBRARIES := \
$(librecovery_static_libraries)
+LOCAL_SHARED_LIBRARIES := \
+ $(librecovery_shared_libraries)
+
include $(BUILD_STATIC_LIBRARY)
# recovery (static executable)
@@ -200,6 +204,7 @@
LOCAL_SHARED_LIBRARIES := \
librecovery_ui \
+ $(librecovery_shared_libraries)
LOCAL_HAL_STATIC_LIBRARIES := libhealthd
@@ -219,7 +224,8 @@
# e2fsck is needed for adb remount -R.
ifeq ($(BOARD_EXT4_SHARE_DUP_BLOCKS),true)
ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
-LOCAL_REQUIRED_MODULES += e2fsck_static
+LOCAL_REQUIRED_MODULES += \
+ e2fsck_static
endif
endif
@@ -235,10 +241,23 @@
# TODO(b/110380063): Explicitly install the following shared libraries to recovery, until `recovery`
# module is built with Soong (with `recovery: true` flag).
LOCAL_REQUIRED_MODULES += \
+ libasyncio.recovery \
libbase.recovery \
+ libbootloader_message.recovery \
+ libcrypto.recovery \
+ libcrypto_utils.recovery \
+ libcutils.recovery \
+ libext4_utils.recovery \
+ libfs_mgr.recovery \
+ libhidl-gen-utils.recovery \
liblog.recovery \
libpng.recovery \
+ libselinux.recovery \
+ libsparse.recovery \
+ libtinyxml2.recovery \
+ libutils.recovery \
libz.recovery \
+ libziparchive.recovery \
include $(BUILD_EXECUTABLE)
diff --git a/fuse_sideload/Android.bp b/fuse_sideload/Android.bp
index 76bc16d..b7f9c03 100644
--- a/fuse_sideload/Android.bp
+++ b/fuse_sideload/Android.bp
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-cc_library_static {
+cc_library {
name: "libfusesideload",
cflags: [
diff --git a/minui/Android.bp b/minui/Android.bp
index 31022e1..fff3a8e 100644
--- a/minui/Android.bp
+++ b/minui/Android.bp
@@ -14,6 +14,7 @@
cc_library {
name: "libminui",
+ recovery_available: true,
defaults: [
"recovery_defaults",
diff --git a/otautil/Android.bp b/otautil/Android.bp
index b058f7b..56c7c9e 100644
--- a/otautil/Android.bp
+++ b/otautil/Android.bp
@@ -16,6 +16,11 @@
name: "libotautil",
host_supported: true,
+ recovery_available: true,
+
+ defaults: [
+ "recovery_defaults",
+ ],
// Minimal set of files to support host build.
srcs: [
@@ -23,16 +28,10 @@
"rangeset.cpp",
],
- static_libs: [
+ shared_libs: [
"libbase",
],
- cflags: [
- "-D_FILE_OFFSET_BITS=64",
- "-Werror",
- "-Wall",
- ],
-
export_include_dirs: [
"include",
],
@@ -46,9 +45,9 @@
"thermalutil.cpp",
],
- static_libs: [
- "libselinux",
+ shared_libs: [
"libcutils",
+ "libselinux",
],
},
},