diff options
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityManagerService.java | 1 | ||||
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageDexOptimizer.java | 10 |
2 files changed, 5 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 5eb5b1406231..48d888f5e6d4 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -4020,7 +4020,6 @@ public class ActivityManagerService extends IActivityManager.Stub if (app.info.isPrivilegedApp() && SystemProperties.getBoolean("pm.dexopt.priv-apps-oob", false)) { - runtimeFlags |= Zygote.DISABLE_VERIFIER; runtimeFlags |= Zygote.ONLY_USE_SYSTEM_OAT_FILES; } diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java index 91df87b713e8..beab758f697c 100644 --- a/services/core/java/com/android/server/pm/PackageDexOptimizer.java +++ b/services/core/java/com/android/server/pm/PackageDexOptimizer.java @@ -110,11 +110,6 @@ public class PackageDexOptimizer { return false; } - // We do not dexopt a priv-app package when pm.dexopt.priv-apps-oob is true. - if (pkg.isPrivileged()) { - return !SystemProperties.getBoolean("pm.dexopt.priv-apps-oob", false); - } - return true; } @@ -480,6 +475,11 @@ public class PackageDexOptimizer { boolean isUsedByOtherApps) { int flags = info.flags; boolean vmSafeMode = (flags & ApplicationInfo.FLAG_VM_SAFE_MODE) != 0; + // When pm.dexopt.priv-apps-oob is true, we only verify privileged apps. + if (info.isPrivilegedApp() && + SystemProperties.getBoolean("pm.dexopt.priv-apps-oob", false)) { + return "verify"; + } if (vmSafeMode) { return getSafeModeCompilerFilter(targetCompilerFilter); } |