summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jeff Sharkey <jsharkey@google.com> 2021-03-10 00:05:37 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2021-03-10 00:05:37 +0000
commitd2cd30f2ccdf193ecc5424a00009649ebd58bdcd (patch)
treebe5daab57702abe47cbd690bbcc523bc947b3788
parent6b932718426a30b88a39c7d170e56b8247fe3952 (diff)
parentee20cc3ca18b3bcec21946146d6de8c17b6094aa (diff)
Merge "Wait for installd to start to perform dexopt operation" am: 3f0f0b686a am: ee20cc3ca1
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1615847 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I4b80a78b7e017e7c8bce69d856b321de6dc9357d
-rw-r--r--core/java/com/android/internal/os/ZygoteInit.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java
index fe87b64940fb..c220428df58b 100644
--- a/core/java/com/android/internal/os/ZygoteInit.java
+++ b/core/java/com/android/internal/os/ZygoteInit.java
@@ -648,8 +648,6 @@ public class ZygoteInit {
*/
private static void performSystemServerDexOpt(String classPath) {
final String[] classPathElements = classPath.split(":");
- final IInstalld installd = IInstalld.Stub
- .asInterface(ServiceManager.getService("installd"));
final String instructionSet = VMRuntime.getRuntime().vmInstructionSet();
String classPathForElement = "";
@@ -686,6 +684,10 @@ public class ZygoteInit {
final String uuid = StorageManager.UUID_PRIVATE_INTERNAL;
final String seInfo = null;
final int targetSdkVersion = 0; // SystemServer targets the system's SDK version
+ // Wait for installd to be made available
+ IInstalld installd = IInstalld.Stub.asInterface(
+ ServiceManager.waitForService("installd"));
+
try {
installd.dexopt(classPathElement, Process.SYSTEM_UID, packageName,
instructionSet, dexoptNeeded, outputPath, dexFlags, systemServerFilter,