From 3b535c2d56b387d992f032dcdfe4d5feab1ee8d0 Mon Sep 17 00:00:00 2001 From: Jiyong Park Date: Thu, 23 Jul 2020 21:31:51 +0900 Subject: [PATCH] Introduce uses-native-library tag This is a partial cherry-pick of Iceb038aa86872d23e9faf582ae91b1fdcaf5c64c from the internal gerrit. Cherry-picking to AOSP is needed to have other changes (art) in the public repo. The entire change will be merged along with the S release. Bug: 142191088 Test: m Change-Id: I13ccbe88be77258bcf1a71e33ab5560796fb605f Merged-In: Iceb038aa86872d23e9faf582ae91b1fdcaf5c64c --- .../java/com/android/internal/os/ClassLoaderFactory.java | 9 +++++++-- core/jni/com_android_internal_os_ClassLoaderFactory.cpp | 9 ++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/core/java/com/android/internal/os/ClassLoaderFactory.java b/core/java/com/android/internal/os/ClassLoaderFactory.java index a18943c264f55..8f36de1d96617 100644 --- a/core/java/com/android/internal/os/ClassLoaderFactory.java +++ b/core/java/com/android/internal/os/ClassLoaderFactory.java @@ -116,13 +116,17 @@ public class ClassLoaderFactory { final ClassLoader classLoader = createClassLoader(dexPath, librarySearchPath, parent, classLoaderName, sharedLibraries); + // TODO(b/142191088) merge 6a5b8b1f6db172b5aaadcec0c3868e54e214b675 + String sonameList = "ALL"; + Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "createClassloaderNamespace"); String errorMessage = createClassloaderNamespace(classLoader, targetSdkVersion, librarySearchPath, libraryPermittedPath, isNamespaceShared, - dexPath); + dexPath, + sonameList); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); if (errorMessage != null) { @@ -139,5 +143,6 @@ public class ClassLoaderFactory { String librarySearchPath, String libraryPermittedPath, boolean isNamespaceShared, - String dexPath); + String dexPath, + String sonameList); } diff --git a/core/jni/com_android_internal_os_ClassLoaderFactory.cpp b/core/jni/com_android_internal_os_ClassLoaderFactory.cpp index f8d41e4bef541..59c413ff58a62 100644 --- a/core/jni/com_android_internal_os_ClassLoaderFactory.cpp +++ b/core/jni/com_android_internal_os_ClassLoaderFactory.cpp @@ -28,16 +28,19 @@ static jstring createClassloaderNamespace_native(JNIEnv* env, jstring librarySearchPath, jstring libraryPermittedPath, jboolean isShared, - jstring dexPath) { + jstring dexPath, + jstring sonameList) { return android::CreateClassLoaderNamespace(env, targetSdkVersion, classLoader, isShared == JNI_TRUE, dexPath, - librarySearchPath, libraryPermittedPath); + librarySearchPath, + libraryPermittedPath, + sonameList); } static const JNINativeMethod g_methods[] = { { "createClassloaderNamespace", - "(Ljava/lang/ClassLoader;ILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Ljava/lang/String;", + "(Ljava/lang/ClassLoader;ILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;)Ljava/lang/String;", reinterpret_cast(createClassloaderNamespace_native) }, };