diff options
author | Jeffrey Huang <jeffreyhuang@google.com> | 2020-02-11 17:33:45 -0800 |
---|---|---|
committer | Howard Ro <yro@google.com> | 2020-02-16 16:59:58 -0800 |
commit | 5257503fa58c8c9d79051a7c691bfba3a9ef1c02 (patch) | |
tree | 800e6efcf9258a32af1eeb10688854f233d96da3 /libnativeloader/library_namespaces.cpp | |
parent | 0a5cad39cd1dbbfd6f335c5ff6f307a903bc5bf7 (diff) |
Add libstats_jni to linkerconfig/namespace
As part of statsd becoming a Mainline module, moving libstats_jni to the
apex requires adding it to the linker namespace here.
Bug: 145922701
Test: m -j
Change-Id: Ifcbea47cc36604e4a86df9af711d678b23012724
Diffstat (limited to 'libnativeloader/library_namespaces.cpp')
-rw-r--r-- | libnativeloader/library_namespaces.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libnativeloader/library_namespaces.cpp b/libnativeloader/library_namespaces.cpp index 8e9b6ea6da..9c658d78e5 100644 --- a/libnativeloader/library_namespaces.cpp +++ b/libnativeloader/library_namespaces.cpp @@ -45,6 +45,7 @@ constexpr const char* kVndkNamespaceName = "vndk"; constexpr const char* kArtNamespaceName = "com.android.art"; constexpr const char* kNeuralNetworksNamespaceName = "com.android.neuralnetworks"; constexpr const char* kCronetNamespaceName = "com.android.cronet"; +constexpr const char* kStatsdNamespaceName = "com.android.os.statsd"; // classloader-namespace is a linker namespace that is created for the loaded // app. To be specific, it is created for the app classloader. When @@ -295,6 +296,16 @@ Result<NativeLoaderNamespace*> LibraryNamespaces::Create(JNIEnv* env, uint32_t t } } + // Give access to StatsdAPI libraries + auto statsd_ns = + NativeLoaderNamespace::GetExportedNamespace(kStatsdNamespaceName, is_bridged); + if (statsd_ns.ok()) { + linked = app_ns->Link(*statsd_ns, statsd_public_libraries()); + if (!linked.ok()) { + 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 system namespace |