summaryrefslogtreecommitdiff
path: root/libnativeloader/library_namespaces.cpp
diff options
context:
space:
mode:
authorJustin Yun <justinyun@google.com>2020-02-06 16:53:08 +0900
committerJustin Yun <justinyun@google.com>2020-02-10 19:14:58 +0000
commit089c1357c6e5457a7bd5e76f70cead52517d9b0b (patch)
tree6dcf1a604aa163515b5e04280bfe6188dab93eec /libnativeloader/library_namespaces.cpp
parent860ab3748c3d112eec41abb57c801bb4f150521d (diff)
Use product vndk version for product apps
ro.vndk.version is only for vendor modules. Product modules use different vndk version that is set in ro.product.vndk.version. Use product vndk version for creating namespaces for product apps. Bug: 148823287 Test: atest libnativeloader_test Change-Id: Iade4b3ca846f1e47e5138f2ceda81bf188276a91
Diffstat (limited to 'libnativeloader/library_namespaces.cpp')
-rw-r--r--libnativeloader/library_namespaces.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/libnativeloader/library_namespaces.cpp b/libnativeloader/library_namespaces.cpp
index 99587e4142..08a22907c4 100644
--- a/libnativeloader/library_namespaces.cpp
+++ b/libnativeloader/library_namespaces.cpp
@@ -182,25 +182,29 @@ Result<NativeLoaderNamespace*> LibraryNamespaces::Create(JNIEnv* env, uint32_t t
// together in the vendor / product partition.
const char* origin_partition;
const char* origin_lib_path;
+ const char* llndk_libraries;
switch (apk_origin) {
case APK_ORIGIN_VENDOR:
origin_partition = "vendor";
origin_lib_path = kVendorLibPath;
+ llndk_libraries = llndk_libraries_vendor().c_str();
break;
case APK_ORIGIN_PRODUCT:
origin_partition = "product";
origin_lib_path = kProductLibPath;
+ llndk_libraries = llndk_libraries_product().c_str();
break;
default:
origin_partition = "unknown";
origin_lib_path = "";
+ llndk_libraries = "";
}
library_path = library_path + ":" + origin_lib_path;
permitted_path = permitted_path + ":" + origin_lib_path;
- // Also give access to LLNDK libraries since they are available to vendors
- system_exposed_libraries = system_exposed_libraries + ":" + llndk_libraries().c_str();
+ // Also give access to LLNDK libraries since they are available to vendor or product
+ system_exposed_libraries = system_exposed_libraries + ":" + llndk_libraries;
// Different name is useful for debugging
namespace_name = kVendorClassloaderNamespaceName;