Merge "Add product apk support from libnativeloader" am: 307df45b5f
am: ad0ca523a6
Change-Id: I896f609e4994eb6b0494e3fcf38737c4a69352a8
This commit is contained in:
@@ -1419,7 +1419,7 @@ Lcom/android/internal/os/BaseCommand;->mArgs:Landroid/os/ShellCommand;
|
|||||||
Lcom/android/internal/os/BatterySipper$DrainType;->values()[Lcom/android/internal/os/BatterySipper$DrainType;
|
Lcom/android/internal/os/BatterySipper$DrainType;->values()[Lcom/android/internal/os/BatterySipper$DrainType;
|
||||||
Lcom/android/internal/os/BinderInternal;->getContextObject()Landroid/os/IBinder;
|
Lcom/android/internal/os/BinderInternal;->getContextObject()Landroid/os/IBinder;
|
||||||
Lcom/android/internal/os/BinderInternal;->handleGc()V
|
Lcom/android/internal/os/BinderInternal;->handleGc()V
|
||||||
Lcom/android/internal/os/ClassLoaderFactory;->createClassloaderNamespace(Ljava/lang/ClassLoader;ILjava/lang/String;Ljava/lang/String;ZZ)Ljava/lang/String;
|
Lcom/android/internal/os/ClassLoaderFactory;->createClassloaderNamespace(Ljava/lang/ClassLoader;ILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Ljava/lang/String;
|
||||||
Lcom/android/internal/os/IDropBoxManagerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/os/IDropBoxManagerService;
|
Lcom/android/internal/os/IDropBoxManagerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/os/IDropBoxManagerService;
|
||||||
Lcom/android/internal/os/ProcessCpuTracker$Stats;->name:Ljava/lang/String;
|
Lcom/android/internal/os/ProcessCpuTracker$Stats;->name:Ljava/lang/String;
|
||||||
Lcom/android/internal/os/ProcessCpuTracker$Stats;->rel_stime:I
|
Lcom/android/internal/os/ProcessCpuTracker$Stats;->rel_stime:I
|
||||||
|
|||||||
@@ -115,20 +115,13 @@ public class ClassLoaderFactory {
|
|||||||
final ClassLoader classLoader = createClassLoader(dexPath, librarySearchPath, parent,
|
final ClassLoader classLoader = createClassLoader(dexPath, librarySearchPath, parent,
|
||||||
classLoaderName, sharedLibraries);
|
classLoaderName, sharedLibraries);
|
||||||
|
|
||||||
boolean isForVendor = false;
|
|
||||||
for (String path : dexPath.split(":")) {
|
|
||||||
if (path.startsWith("/vendor/")) {
|
|
||||||
isForVendor = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "createClassloaderNamespace");
|
Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "createClassloaderNamespace");
|
||||||
String errorMessage = createClassloaderNamespace(classLoader,
|
String errorMessage = createClassloaderNamespace(classLoader,
|
||||||
targetSdkVersion,
|
targetSdkVersion,
|
||||||
librarySearchPath,
|
librarySearchPath,
|
||||||
libraryPermittedPath,
|
libraryPermittedPath,
|
||||||
isNamespaceShared,
|
isNamespaceShared,
|
||||||
isForVendor);
|
dexPath);
|
||||||
Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
|
Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
|
||||||
|
|
||||||
if (errorMessage != null) {
|
if (errorMessage != null) {
|
||||||
@@ -144,5 +137,5 @@ public class ClassLoaderFactory {
|
|||||||
String librarySearchPath,
|
String librarySearchPath,
|
||||||
String libraryPermittedPath,
|
String libraryPermittedPath,
|
||||||
boolean isNamespaceShared,
|
boolean isNamespaceShared,
|
||||||
boolean isForVendor);
|
String dexPath);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,16 +28,16 @@ static jstring createClassloaderNamespace_native(JNIEnv* env,
|
|||||||
jstring librarySearchPath,
|
jstring librarySearchPath,
|
||||||
jstring libraryPermittedPath,
|
jstring libraryPermittedPath,
|
||||||
jboolean isShared,
|
jboolean isShared,
|
||||||
jboolean isForVendor) {
|
jstring dexPath) {
|
||||||
return android::CreateClassLoaderNamespace(env, targetSdkVersion,
|
return android::CreateClassLoaderNamespace(env, targetSdkVersion,
|
||||||
classLoader, isShared == JNI_TRUE,
|
classLoader, isShared == JNI_TRUE,
|
||||||
isForVendor == JNI_TRUE,
|
dexPath,
|
||||||
librarySearchPath, libraryPermittedPath);
|
librarySearchPath, libraryPermittedPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const JNINativeMethod g_methods[] = {
|
static const JNINativeMethod g_methods[] = {
|
||||||
{ "createClassloaderNamespace",
|
{ "createClassloaderNamespace",
|
||||||
"(Ljava/lang/ClassLoader;ILjava/lang/String;Ljava/lang/String;ZZ)Ljava/lang/String;",
|
"(Ljava/lang/ClassLoader;ILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Ljava/lang/String;",
|
||||||
reinterpret_cast<void*>(createClassloaderNamespace_native) },
|
reinterpret_cast<void*>(createClassloaderNamespace_native) },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user