Merge "Allow libhardware to be used in recovery" am: dc62b58d3d am: ced9903818 am: 93221cf4cd
am: acd90e7cfa
Change-Id: I250a74ffda8d23cf3586a40c70de763f08086fa1
diff --git a/Android.bp b/Android.bp
index 4766b71..ce4214e 100644
--- a/Android.bp
+++ b/Android.bp
@@ -16,7 +16,17 @@
],
export_include_dirs: ["include"],
+ recovery_available: true,
vendor_available: true,
+ target: {
+ recovery: {
+ exclude_header_libs: [
+ "libaudio_system_headers",
+ "libbluetooth-types-header",
+ ],
+ },
+ },
+
}
cc_library_shared {
@@ -38,9 +48,15 @@
header_libs: ["libhardware_headers"],
export_header_lib_headers: ["libhardware_headers"],
+ recovery_available: true,
vendor_available: true,
vndk: {
enabled: true,
support_system_process: true,
},
+ target: {
+ recovery: {
+ exclude_shared_libs: ["libvndksupport"],
+ },
+ },
}
diff --git a/hardware.c b/hardware.c
index 1261445..6e72ce9 100644
--- a/hardware.c
+++ b/hardware.c
@@ -30,7 +30,9 @@
#define LOG_TAG "HAL"
#include <log/log.h>
+#if !defined(__ANDROID_RECOVERY__)
#include <vndksupport/linker.h>
+#endif
/** Base path of the hal modules */
#if defined(__LP64__)
@@ -95,7 +97,11 @@
*/
handle = dlopen(path, RTLD_NOW);
} else {
+#if defined(__ANDROID_RECOVERY__)
+ handle = dlopen(path, RTLD_NOW);
+#else
handle = android_load_sphal_library(path, RTLD_NOW);
+#endif
}
if (handle == NULL) {
char const *err_str = dlerror();