diff options
| author | 2010-08-04 15:03:56 -0700 | |
|---|---|---|
| committer | 2010-08-04 15:03:56 -0700 | |
| commit | d6dc45c30c1704fca9ec33f51c7c4ec1bee515ea (patch) | |
| tree | 1a04f8d5019b9af8ffe56721f5764405f310e7f6 | |
| parent | 0b4e3ad356c6e4f2f4152d02de7a4dc395825bba (diff) | |
| parent | 125816a2a89343efdcccc5a74c2dd8a2608c54a0 (diff) | |
am 125816a2: Merge "Failure to move .dex in eng builds is not fatal" into gingerbread
Merge commit '125816a2a89343efdcccc5a74c2dd8a2608c54a0' into gingerbread-plus-aosp
* commit '125816a2a89343efdcccc5a74c2dd8a2608c54a0':
Failure to move .dex in eng builds is not fatal
| -rw-r--r-- | services/java/com/android/server/PackageManagerService.java | 13 |
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; |