summaryrefslogtreecommitdiff
path: root/libnativeloader/library_namespaces.cpp
diff options
context:
space:
mode:
authorLuke Huang <huangluke@google.com>2019-12-17 10:54:26 +0800
committerLuke Huang <huangluke@google.com>2019-12-17 15:57:03 +0000
commit5c0177215ee88a9372b883d06661e25a8f6105de (patch)
tree94beb530125654c1af9cd91ada6abc5d10bb6a7f /libnativeloader/library_namespaces.cpp
parentc99a2310f980bab0211799b47dcf191bc2bf0163 (diff)
Add public lib of Cronet apex mainline
This is a workaround since apex module library path is not supported in jni Bug: 139397529 Bug: 145474221 Test: Build Test: manual test with Cronet Test: atest CtsJniTestCases Test: atest libnativeloader_test Change-Id: Ifd8aa85bd78e95131b2ce3eab0ad32c2bb19cee2
Diffstat (limited to 'libnativeloader/library_namespaces.cpp')
-rw-r--r--libnativeloader/library_namespaces.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/libnativeloader/library_namespaces.cpp b/libnativeloader/library_namespaces.cpp
index 03e0814211..c01f80464a 100644
--- a/libnativeloader/library_namespaces.cpp
+++ b/libnativeloader/library_namespaces.cpp
@@ -44,6 +44,7 @@ constexpr const char* kVendorNamespaceName = "sphal";
constexpr const char* kVndkNamespaceName = "vndk";
constexpr const char* kArtNamespaceName = "art";
constexpr const char* kNeuralNetworksNamespaceName = "neuralnetworks";
+constexpr const char* kCronetNamespaceName = "cronet";
// classloader-namespace is a linker namespace that is created for the loaded
// app. To be specific, it is created for the app classloader. When
@@ -279,6 +280,16 @@ Result<NativeLoaderNamespace*> LibraryNamespaces::Create(JNIEnv* env, uint32_t t
}
}
+ // TODO(b/143733063): Remove it after library path of apex module is supported.
+ auto cronet_ns =
+ NativeLoaderNamespace::GetExportedNamespace(kCronetNamespaceName, is_bridged);
+ if (cronet_ns) {
+ linked = app_ns->Link(*cronet_ns, cronet_public_libraries());
+ if (!linked) {
+ return linked.error();
+ }
+ }
+
if (!vendor_public_libraries().empty()) {
auto vendor_ns = NativeLoaderNamespace::GetExportedNamespace(kVendorNamespaceName, is_bridged);
// when vendor_ns is not configured, link to the platform namespace