summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Kenny Root <kroot@google.com> 2010-08-04 15:01:56 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2010-08-04 15:01:56 -0700
commit125816a2a89343efdcccc5a74c2dd8a2608c54a0 (patch)
treed7ebf727b7383bbdf823d0e173381dd925e539f6
parent82cadee3ca830315c617dfdbf3a8eef207c58436 (diff)
parente2f7417529439d4ff3fd23fbe7fc1fcac4230385 (diff)
Merge "Failure to move .dex in eng builds is not fatal" into gingerbread
-rw-r--r--services/java/com/android/server/PackageManagerService.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index 7827d2698df2..0ff33d148683 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -5867,8 +5867,17 @@ class PackageManagerService extends IPackageManager.Stub {
if ((newPackage.applicationInfo.flags&ApplicationInfo.FLAG_HAS_CODE) != 0) {
retCode = mInstaller.movedex(newPackage.mScanPath, newPackage.mPath);
if (retCode != 0) {
- Slog.e(TAG, "Couldn't rename dex file: " + newPackage.mPath);
- return PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE;
+ if (mNoDexOpt) {
+ /*
+ * If we're in an engineering build, programs are lazily run
+ * through dexopt. If the .dex file doesn't exist yet, it
+ * will be created when the program is run next.
+ */
+ Slog.i(TAG, "dex file doesn't exist, skipping move: " + newPackage.mPath);
+ } else {
+ Slog.e(TAG, "Couldn't rename dex file: " + newPackage.mPath);
+ return PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE;
+ }
}
}
return PackageManager.INSTALL_SUCCEEDED;