summaryrefslogtreecommitdiff
path: root/libnativeloader/library_namespaces.cpp
diff options
context:
space:
mode:
authorVictor Chang <vichang@google.com>2020-04-06 20:42:07 +0100
committervichang <vichang@google.com>2020-05-05 08:52:20 +0000
commit8419b82fa8d46362eb1369ec1876ee2d3c4bc29d (patch)
treedca0a5f4cd30c2882e404532eb06691a19624306 /libnativeloader/library_namespaces.cpp
parentb6f4c79b06bb97651a7be1ac828d18ed18356603 (diff)
Move ICU from ART APEX to i18n APEX
It involves a change of boot class path to use core-icu4j from i18n APEX. Bug: 138994281 Test: device boots Test: m build-art-target-tests Test: CtsJniTestCases Test: atest libnativeloader_test Test: ./art/test/testrunner/run_build_test_target.py -j80 art-test Test: art/build/apex/runtests.sh Change-Id: I30fc3735be760cba48856cd102852d2a6c796374
Diffstat (limited to 'libnativeloader/library_namespaces.cpp')
-rw-r--r--libnativeloader/library_namespaces.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/libnativeloader/library_namespaces.cpp b/libnativeloader/library_namespaces.cpp
index d42a4b55ed..14ba721420 100644
--- a/libnativeloader/library_namespaces.cpp
+++ b/libnativeloader/library_namespaces.cpp
@@ -51,6 +51,7 @@ constexpr const char* kVendorNamespaceName = "sphal";
constexpr const char* kVndkNamespaceName = "vndk";
constexpr const char* kVndkProductNamespaceName = "vndk_product";
constexpr const char* kArtNamespaceName = "com_android_art";
+constexpr const char* kI18nNamespaceName = "com_android_i18n";
constexpr const char* kNeuralNetworksNamespaceName = "com_android_neuralnetworks";
constexpr const char* kStatsdNamespaceName = "com_android_os_statsd";
@@ -272,6 +273,15 @@ Result<NativeLoaderNamespace*> LibraryNamespaces::Create(JNIEnv* env, uint32_t t
}
}
+ auto i18n_ns = NativeLoaderNamespace::GetExportedNamespace(kI18nNamespaceName, is_bridged);
+ // i18n APEX does not exist on host, and under certain build conditions.
+ if (i18n_ns.ok()) {
+ linked = app_ns->Link(*i18n_ns, i18n_public_libraries());
+ if (!linked.ok()) {
+ return linked.error();
+ }
+ }
+
// Give access to NNAPI libraries (apex-updated LLNDK library).
auto nnapi_ns =
NativeLoaderNamespace::GetExportedNamespace(kNeuralNetworksNamespaceName, is_bridged);