summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Narayan Kamath <narayan@google.com> 2016-06-20 15:19:29 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-06-20 15:19:31 +0000
commit5ae42bb661ce46bcc43f1be35b2e7465b4be5343 (patch)
tree86b750c94a17ce06f186a390689592cf276b63e8
parent6918675fa1ee00efe686b8d6dc16fe5c80ce6f23 (diff)
parent99407db8ddb70141a9582b4d9f5d5012067748fe (diff)
Merge "PackageManager: Don't fail app installs if dexopt fails." into nyc-dev
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java11
1 files changed, 4 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index ada0a6be98df..c8307d810066 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -15132,16 +15132,13 @@ public class PackageManagerService extends IPackageManager.Stub {
}
Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "dexopt");
// Do not run PackageDexOptimizer through the local performDexOpt
- // method because `pkg` is not in `mPackages` yet.
- int result = mPackageDexOptimizer.performDexOpt(pkg, pkg.usesLibraryFiles,
+ // method because `pkg` may not be in `mPackages` yet.
+ //
+ // Also, don't fail application installs if the dexopt step fails.
+ mPackageDexOptimizer.performDexOpt(pkg, pkg.usesLibraryFiles,
null /* instructionSets */, false /* checkProfiles */,
getCompilerFilterForReason(REASON_INSTALL));
Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
- if (result == PackageDexOptimizer.DEX_OPT_FAILED) {
- String msg = "Extracting package failed for " + pkgName;
- res.setError(INSTALL_FAILED_DEXOPT, msg);
- return;
- }
// Notify BackgroundDexOptService that the package has been changed.
// If this is an update of a package which used to fail to compile,