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
diff --git a/libnativeloader/public_libraries.cpp b/libnativeloader/public_libraries.cpp
index 34f0a3d..35ef488 100644
--- a/libnativeloader/public_libraries.cpp
+++ b/libnativeloader/public_libraries.cpp
@@ -38,10 +38,11 @@
namespace android::nativeloader {
-using namespace internal;
-using namespace ::std::string_literals;
using android::base::ErrnoError;
using android::base::Result;
+using internal::ConfigEntry;
+using internal::ParseConfig;
+using std::literals::string_literals::operator""s;
namespace {
@@ -63,6 +64,8 @@
// STOPSHIP(b/146420818): Figure out how to use stub or non-specific lib name for libcronet.
constexpr const char* kCronetApexPublicLibrary = "libcronet.80.0.3986.0.so";
+constexpr const char* kStatsdApexPublicLibrary = "libstats_jni.so";
+
// TODO(b/130388701): do we need this?
std::string root_dir() {
static const char* android_root_env = getenv("ANDROID_ROOT");
@@ -218,7 +221,7 @@
}
static std::string InitArtPublicLibraries() {
- CHECK(sizeof(kArtApexPublicLibraries) > 0);
+ CHECK_GT((int)sizeof(kArtApexPublicLibraries), 0);
std::string list = android::base::Join(kArtApexPublicLibraries, ":");
std::string additional_libs = additional_public_libraries();
@@ -293,6 +296,10 @@
return kCronetApexPublicLibrary;
}
+static std::string InitStatsdPublicLibraries() {
+ return kStatsdApexPublicLibrary;
+}
+
} // namespace
const std::string& preloadable_public_libraries() {
@@ -330,6 +337,11 @@
return list;
}
+const std::string& statsd_public_libraries() {
+ static std::string list = InitStatsdPublicLibraries();
+ return list;
+}
+
const std::string& llndk_libraries_product() {
static std::string list = InitLlndkLibrariesProduct();
return list;