Don't upgrade "extract" or "assume-verified" filters to "verify" when
embedded dex files should be used. This fixes a bug and aligns with ART Services behavior. Test: m Bug: 251903639 Change-Id: I20f66528dd489212b2b91282a458d9849537c80c
This commit is contained in:
@@ -785,7 +785,9 @@ public class PackageDexOptimizer {
|
||||
private String getRealCompilerFilter(ApplicationInfo info, String targetCompilerFilter,
|
||||
boolean isUsedByOtherApps) {
|
||||
if (info.isEmbeddedDexUsed()) {
|
||||
return "verify";
|
||||
// Downgrade optimizing filters to "verify", but don't upgrade lower filters.
|
||||
return DexFile.isOptimizedCompilerFilter(targetCompilerFilter) ? "verify"
|
||||
: targetCompilerFilter;
|
||||
}
|
||||
|
||||
// We force vmSafeMode on debuggable apps as well:
|
||||
@@ -822,7 +824,9 @@ public class PackageDexOptimizer {
|
||||
*/
|
||||
private String getRealCompilerFilter(AndroidPackage pkg, String targetCompilerFilter) {
|
||||
if (pkg.isUseEmbeddedDex()) {
|
||||
return "verify";
|
||||
// Downgrade optimizing filters to "verify", but don't upgrade lower filters.
|
||||
return DexFile.isOptimizedCompilerFilter(targetCompilerFilter) ? "verify"
|
||||
: targetCompilerFilter;
|
||||
}
|
||||
|
||||
// We force vmSafeMode on debuggable apps as well:
|
||||
|
||||
Reference in New Issue
Block a user