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
This commit is contained in:
Jiyong Park
2020-07-23 21:31:51 +09:00
parent c4a477881e
commit 3b535c2d56
2 changed files with 13 additions and 5 deletions

View File

@@ -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);
}

View File

@@ -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<void*>(createClassloaderNamespace_native) },
};