summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/os/ZygoteProcess.java34
-rw-r--r--core/java/com/android/internal/os/WebViewZygoteInit.java25
-rw-r--r--core/java/com/android/internal/os/Zygote.java2
-rw-r--r--core/java/com/android/internal/os/ZygoteArguments.java32
-rw-r--r--core/java/com/android/internal/os/ZygoteConnection.java13
5 files changed, 0 insertions, 106 deletions
diff --git a/core/java/android/os/ZygoteProcess.java b/core/java/android/os/ZygoteProcess.java
index b1ef05a6f00c..6a2daeab5f0a 100644
--- a/core/java/android/os/ZygoteProcess.java
+++ b/core/java/android/os/ZygoteProcess.java
@@ -1102,7 +1102,6 @@ public class ZygoteProcess {
/**
* Instructs the zygote to pre-load the application code for the given Application.
* Only the app zygote supports this function.
- * TODO preloadPackageForAbi() can probably be removed and the callers an use this instead.
*/
public boolean preloadApp(ApplicationInfo appInfo, String abi)
throws ZygoteStartFailedEx, IOException {
@@ -1130,39 +1129,6 @@ public class ZygoteProcess {
}
/**
- * Instructs the zygote to pre-load the classes and native libraries at the given paths
- * for the specified abi. Not all zygotes support this function.
- */
- public boolean preloadPackageForAbi(
- String packagePath, String libsPath, String libFileName, String cacheKey, String abi)
- throws ZygoteStartFailedEx, IOException {
- synchronized (mLock) {
- ZygoteState state = openZygoteSocketIfNeeded(abi);
- state.mZygoteOutputWriter.write("5");
- state.mZygoteOutputWriter.newLine();
-
- state.mZygoteOutputWriter.write("--preload-package");
- state.mZygoteOutputWriter.newLine();
-
- state.mZygoteOutputWriter.write(packagePath);
- state.mZygoteOutputWriter.newLine();
-
- state.mZygoteOutputWriter.write(libsPath);
- state.mZygoteOutputWriter.newLine();
-
- state.mZygoteOutputWriter.write(libFileName);
- state.mZygoteOutputWriter.newLine();
-
- state.mZygoteOutputWriter.write(cacheKey);
- state.mZygoteOutputWriter.newLine();
-
- state.mZygoteOutputWriter.flush();
-
- return (state.mZygoteInputStream.readInt() == 0);
- }
- }
-
- /**
* Instructs the zygote to preload the default set of classes and resources. Returns
* {@code true} if a preload was performed as a result of this call, and {@code false}
* otherwise. The latter usually means that the zygote eagerly preloaded at startup
diff --git a/core/java/com/android/internal/os/WebViewZygoteInit.java b/core/java/com/android/internal/os/WebViewZygoteInit.java
index 9ed738406707..8dee2230fd1f 100644
--- a/core/java/com/android/internal/os/WebViewZygoteInit.java
+++ b/core/java/com/android/internal/os/WebViewZygoteInit.java
@@ -16,18 +16,15 @@
package com.android.internal.os;
-import android.app.ApplicationLoaders;
import android.app.LoadedApk;
import android.content.pm.ApplicationInfo;
import android.net.LocalSocket;
-import android.text.TextUtils;
import android.util.Log;
import android.webkit.WebViewFactory;
import android.webkit.WebViewFactoryProvider;
import android.webkit.WebViewLibraryLoader;
import java.io.DataOutputStream;
-import java.io.File;
import java.io.IOException;
import java.lang.reflect.Method;
@@ -83,28 +80,6 @@ class WebViewZygoteInit {
Log.i(TAG, "Application preload done");
}
- @Override
- protected void handlePreloadPackage(String packagePath, String libsPath, String libFileName,
- String cacheKey) {
- Log.i(TAG, "Beginning package preload");
- // Ask ApplicationLoaders to create and cache a classloader for the WebView APK so that
- // our children will reuse the same classloader instead of creating their own.
- // This enables us to preload Java and native code in the webview zygote process and
- // have the preloaded versions actually be used post-fork.
- ClassLoader loader = ApplicationLoaders.getDefault().createAndCacheWebViewClassLoader(
- packagePath, libsPath, cacheKey);
-
- // Add the APK to the Zygote's list of allowed files for children.
- String[] packageList = TextUtils.split(packagePath, File.pathSeparator);
- for (String packageEntry : packageList) {
- Zygote.nativeAllowFileAcrossFork(packageEntry);
- }
-
- doPreload(loader, libFileName);
-
- Log.i(TAG, "Package preload done");
- }
-
private void doPreload(ClassLoader loader, String libFileName) {
// Load the native library using WebViewLibraryLoader to share the RELRO data with other
// processes.
diff --git a/core/java/com/android/internal/os/Zygote.java b/core/java/com/android/internal/os/Zygote.java
index cab84bb01f70..fafa08536d6c 100644
--- a/core/java/com/android/internal/os/Zygote.java
+++ b/core/java/com/android/internal/os/Zygote.java
@@ -938,8 +938,6 @@ public final class Zygote {
throw new IllegalArgumentException(USAP_ERROR_PREFIX + "--get-pid");
} else if (args.mPreloadDefault) {
throw new IllegalArgumentException(USAP_ERROR_PREFIX + "--preload-default");
- } else if (args.mPreloadPackage != null) {
- throw new IllegalArgumentException(USAP_ERROR_PREFIX + "--preload-package");
} else if (args.mPreloadApp != null) {
throw new IllegalArgumentException(USAP_ERROR_PREFIX + "--preload-app");
} else if (args.mStartChildZygote) {
diff --git a/core/java/com/android/internal/os/ZygoteArguments.java b/core/java/com/android/internal/os/ZygoteArguments.java
index 86b9a59fef72..27ce64e3ae29 100644
--- a/core/java/com/android/internal/os/ZygoteArguments.java
+++ b/core/java/com/android/internal/os/ZygoteArguments.java
@@ -141,33 +141,12 @@ class ZygoteArguments {
String mAppDataDir;
/**
- * The APK path of the package to preload, when using --preload-package.
- */
- String mPreloadPackage;
-
- /**
* A Base64 string representing a serialize ApplicationInfo Parcel,
when using --preload-app.
*/
String mPreloadApp;
/**
- * The native library path of the package to preload, when using --preload-package.
- */
- String mPreloadPackageLibs;
-
- /**
- * The filename of the native library to preload, when using --preload-package.
- */
- String mPreloadPackageLibFileName;
-
- /**
- * The cache key under which to enter the preloaded package into the classloader cache, when
- * using --preload-package.
- */
- String mPreloadPackageCacheKey;
-
- /**
* Whether this is a request to start preloading the default resources and classes. This
* argument only makes sense when the zygote is in lazy preload mode (i.e, when it's started
* with --enable-lazy-preload).
@@ -419,12 +398,6 @@ class ZygoteArguments {
} else if (arg.equals("--preload-app")) {
++curArg;
mPreloadApp = args.nextArg();
- } else if (arg.equals("--preload-package")) {
- curArg += 4;
- mPreloadPackage = args.nextArg();
- mPreloadPackageLibs = args.nextArg();
- mPreloadPackageLibFileName = args.nextArg();
- mPreloadPackageCacheKey = args.nextArg();
} else if (arg.equals("--preload-default")) {
mPreloadDefault = true;
expectRuntimeArgs = false;
@@ -504,11 +477,6 @@ class ZygoteArguments {
if (argCount > curArg) {
throw new IllegalArgumentException("Unexpected arguments after --query-abi-list.");
}
- } else if (mPreloadPackage != null) {
- if (argCount > curArg) {
- throw new IllegalArgumentException(
- "Unexpected arguments after --preload-package.");
- }
} else if (mPreloadApp != null) {
if (argCount > curArg) {
throw new IllegalArgumentException(
diff --git a/core/java/com/android/internal/os/ZygoteConnection.java b/core/java/com/android/internal/os/ZygoteConnection.java
index d4dcec948e31..2eab0813956d 100644
--- a/core/java/com/android/internal/os/ZygoteConnection.java
+++ b/core/java/com/android/internal/os/ZygoteConnection.java
@@ -165,14 +165,6 @@ class ZygoteConnection {
return null;
}
- if (parsedArgs.mPreloadPackage != null) {
- handlePreloadPackage(parsedArgs.mPreloadPackage,
- parsedArgs.mPreloadPackageLibs,
- parsedArgs.mPreloadPackageLibFileName,
- parsedArgs.mPreloadPackageCacheKey);
- return null;
- }
-
if (canPreloadApp() && parsedArgs.mPreloadApp != null) {
byte[] rawParcelData = Base64.getDecoder().decode(parsedArgs.mPreloadApp);
Parcel appInfoParcel = Parcel.obtain();
@@ -475,11 +467,6 @@ class ZygoteConnection {
return mSocketOutStream;
}
- protected void handlePreloadPackage(String packagePath, String libsPath, String libFileName,
- String cacheKey) {
- throw new RuntimeException("Zygote does not support package preloading");
- }
-
protected boolean canPreloadApp() {
return false;
}