diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java index 5ceb65fb81fad..4ca615dd55c9a 100644 --- a/services/core/java/com/android/server/pm/PackageDexOptimizer.java +++ b/services/core/java/com/android/server/pm/PackageDexOptimizer.java @@ -138,9 +138,8 @@ class PackageDexOptimizer { boolean isProfileGuidedFilter = DexFile.isProfileGuidedCompilerFilter(targetCompilerFilter); // If any part of the app is used by other apps, we cannot use profile-guided // compilation. - // TODO: This needs to be refactored to be also checked when the target mode is - // profile-guided. - if (isProfileGuidedFilter) { + // Skip the check for forward locked packages since they don't share their code. + if (isProfileGuidedFilter && !pkg.isForwardLocked()) { for (String path : paths) { if (isUsedByOtherApps(path)) { checkProfiles = false;