Make product libs available to unbundled product apks.
Unbundling product apps must be triggerred if the target is enforcing
the product interfaces. The device must have ro.product.vndk.version
property if its product interface is enforced.
Unbundled product apps can use product libraries.
Bug: 144534640
Bug: 127738095
Bug: 128557860
Test: check boot and basic features
Change-Id: I32b2a1bd3e4f62b6acdbfab6bd277ec1132478a2
diff --git a/libnativeloader/library_namespaces.cpp b/libnativeloader/library_namespaces.cpp
index c01f804..891d75e 100644
--- a/libnativeloader/library_namespaces.cpp
+++ b/libnativeloader/library_namespaces.cpp
@@ -173,7 +173,8 @@
std::string namespace_name = kClassloaderNamespaceName;
bool unbundled_vendor_or_product_app = false;
if ((apk_origin == APK_ORIGIN_VENDOR ||
- (apk_origin == APK_ORIGIN_PRODUCT && target_sdk_version > 29)) &&
+ (apk_origin == APK_ORIGIN_PRODUCT &&
+ is_product_vndk_version_defined())) &&
!is_shared) {
unbundled_vendor_or_product_app = true;
// For vendor / product apks, give access to the vendor / product lib even though