diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageDexOptimizer.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java index 64af21313a1d..a3af561bf44f 100644 --- a/services/core/java/com/android/server/pm/PackageDexOptimizer.java +++ b/services/core/java/com/android/server/pm/PackageDexOptimizer.java @@ -176,8 +176,14 @@ class PackageDexOptimizer { dexoptNeeded = adjustDexoptNeeded(dexoptNeeded); if (dexoptNeeded == DexFile.NO_DEXOPT_NEEDED) { - // No dexopt needed and we don't use profiles. Nothing to do. - continue; + if (useProfiles) { + // Profiles may trigger re-compilation. The final decision is taken in + // installd. + dexoptNeeded = DexFile.DEX2OAT_NEEDED; + } else { + // No dexopt needed and we don't use profiles. Nothing to do. + continue; + } } final String dexoptType; String oatDir = null; |