From cb581cb536f1cbfd8ba00b2c92f594173ddb0305 Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Thu, 15 Feb 2018 18:35:52 -0800 Subject: [PATCH] Pass DEXOPT_INSTALL_WITH_DEX_METADATA_FILE for first boot Motivation, use dm files in system partition for verifying if they exist. Bug: 70934104 Test: manual Change-Id: I1224101eb830ce7c7bedb3a81b7569df1ef50491 --- .../java/com/android/server/pm/PackageManagerService.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 49976350633ef..900e18873193c 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -9851,6 +9851,10 @@ public class PackageManagerService extends IPackageManager.Stub // behave differently than "pm.dexopt.bg-dexopt=speed-profile" but that's a // trade-off worth doing to save boot time work. int dexoptFlags = bootComplete ? DexoptOptions.DEXOPT_BOOT_COMPLETE : 0; + if (compilationReason == REASON_FIRST_BOOT) { + // TODO: This doesn't cover the upgrade case, we should check for this too. + dexoptFlags |= DexoptOptions.DEXOPT_INSTALL_WITH_DEX_METADATA_FILE; + } int primaryDexOptStaus = performDexOptTraced(new DexoptOptions( pkg.packageName, pkgCompilationReason,