diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/ApplicationLoaders.java | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/core/java/android/app/ApplicationLoaders.java b/core/java/android/app/ApplicationLoaders.java index 0fc097e2e706..d89e1864f36f 100644 --- a/core/java/android/app/ApplicationLoaders.java +++ b/core/java/android/app/ApplicationLoaders.java @@ -18,6 +18,7 @@ package android.app; import android.os.Trace; import android.util.ArrayMap; +import com.android.internal.os.PathClassLoaderFactory; import dalvik.system.PathClassLoader; class ApplicationLoaders { @@ -51,24 +52,19 @@ class ApplicationLoaders { if (loader != null) { return loader; } - + Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, zip); - PathClassLoader pathClassloader = - new PathClassLoader(zip, librarySearchPath, parent); + PathClassLoader pathClassloader = PathClassLoaderFactory.createClassLoader( + zip, + librarySearchPath, + libraryPermittedPath, + parent, + targetSdkVersion, + isBundled); - String errorMessage = createClassloaderNamespace(pathClassloader, - targetSdkVersion, - librarySearchPath, - libraryPermittedPath, - isBundled); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); - if (errorMessage != null) { - throw new UnsatisfiedLinkError("Unable to create namespace for the classloader " + - pathClassloader + ": " + errorMessage); - } - mLoaders.put(zip, pathClassloader); return pathClassloader; } @@ -80,12 +76,6 @@ class ApplicationLoaders { } } - private static native String createClassloaderNamespace(ClassLoader classLoader, - int targetSdkVersion, - String librarySearchPath, - String libraryPermittedPath, - boolean isShared); - /** * Adds a new path the classpath of the given loader. * @throws IllegalStateException if the provided class loader is not a {@link PathClassLoader}. @@ -100,6 +90,5 @@ class ApplicationLoaders { private final ArrayMap<String, ClassLoader> mLoaders = new ArrayMap<String, ClassLoader>(); - private static final ApplicationLoaders gApplicationLoaders - = new ApplicationLoaders(); + private static final ApplicationLoaders gApplicationLoaders = new ApplicationLoaders(); } |
