Merge "Create linker namespace in startServiceFromJar" am: e59313abcc
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1501731 Change-Id: Ib9c8df54319b7b05497a4155d32cfa3eb3f5c6ce
This commit is contained in:
@@ -20,6 +20,7 @@ import android.annotation.NonNull;
|
||||
import android.annotation.UserIdInt;
|
||||
import android.content.Context;
|
||||
import android.content.pm.UserInfo;
|
||||
import android.os.Build;
|
||||
import android.os.Environment;
|
||||
import android.os.SystemClock;
|
||||
import android.os.Trace;
|
||||
@@ -28,6 +29,7 @@ import android.os.UserManagerInternal;
|
||||
import android.util.ArrayMap;
|
||||
import android.util.Slog;
|
||||
|
||||
import com.android.internal.os.ClassLoaderFactory;
|
||||
import com.android.server.SystemService.TargetUser;
|
||||
import com.android.server.utils.TimingsTraceAndSlog;
|
||||
|
||||
@@ -99,7 +101,10 @@ public class SystemServiceManager {
|
||||
if (pathClassLoader == null) {
|
||||
// NB: the parent class loader should always be the system server class loader.
|
||||
// Changing it has implications that require discussion with the mainline team.
|
||||
pathClassLoader = new PathClassLoader(path, this.getClass().getClassLoader());
|
||||
pathClassLoader = (PathClassLoader) ClassLoaderFactory.createClassLoader(
|
||||
path, null /* librarySearchPath */, null /* libraryPermittedPath */,
|
||||
this.getClass().getClassLoader(), Build.VERSION.SDK_INT,
|
||||
true /* isNamespaceShared */, null /* classLoaderName */);
|
||||
mLoadedPaths.put(path, pathClassLoader);
|
||||
}
|
||||
final Class<SystemService> serviceClass = loadClassFromLoader(className, pathClassLoader);
|
||||
|
||||
Reference in New Issue
Block a user