diff --git a/hardware.c b/hardware.c index 79073312..94b5d5d3 100644 --- a/hardware.c +++ b/hardware.c @@ -179,20 +179,20 @@ static int hw_module_exists(char *path, size_t path_len, const char *name, const char *subname) { #ifdef __ANDROID_APEX__ - // When used in APEX, it should look only into the same APEX because + // When used in VAPEX, it should look only into the same APEX because // libhardware modules don't provide ABI stability. - if (__builtin_available(android AAPEXSUPPORT_API, *)) { - AApexInfo *apex_info; - if (AApexInfo_create(&apex_info) == AAPEXINFO_OK) { - snprintf(path, path_len, "/apex/%s/%s/%s.%s.so", - AApexInfo_getName(apex_info), HAL_LIBRARY_SUBDIR, name, subname); - AApexInfo_destroy(apex_info); - if (access(path, R_OK) == 0) - return 0; - } - } else { - ALOGE("hw_module_exists: libapexsupport is not supported in %d.", __ANDROID_API__); +#if __ANDROID_VENDOR_API__ >= 202404 + AApexInfo *apex_info; + if (AApexInfo_create(&apex_info) == AAPEXINFO_OK) { + snprintf(path, path_len, "/apex/%s/%s/%s.%s.so", + AApexInfo_getName(apex_info), HAL_LIBRARY_SUBDIR, name, subname); + AApexInfo_destroy(apex_info); + if (access(path, R_OK) == 0) + return 0; } +#else // __ANDROID_VENDOR_API__ + ALOGE("hw_module_exists: libapexsupport is not supported in %d.", __ANDROID_VENDOR_API__); +#endif // __ANDROID_VENDOR_API__ #else // __ANDROID_APEX__ snprintf(path, path_len, "%s/%s.%s.so", HAL_LIBRARY_PATH3, name, subname);