summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/pm/PackageDexOptimizer.java10
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;