From 8419b82fa8d46362eb1369ec1876ee2d3c4bc29d Mon Sep 17 00:00:00 2001 From: Victor Chang Date: Mon, 6 Apr 2020 20:42:07 +0100 Subject: 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 --- libnativeloader/library_namespaces.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'libnativeloader/library_namespaces.cpp') 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 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); -- cgit v1.2.3-59-g8ed1b