diff --git a/Android.bp b/Android.bp index 4766b71d..ce4214eb 100644 --- a/Android.bp +++ b/Android.bp @@ -16,7 +16,17 @@ cc_library_headers { ], 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 @@ cc_library_shared { 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 1261445d..6e72ce9f 100644 --- a/hardware.c +++ b/hardware.c @@ -30,7 +30,9 @@ #define LOG_TAG "HAL" #include +#if !defined(__ANDROID_RECOVERY__) #include +#endif /** Base path of the hal modules */ #if defined(__LP64__) @@ -95,7 +97,11 @@ static int load(const char *id, */ 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();