diff options
author | Andreas Gampe <agampe@google.com> | 2015-03-11 00:19:26 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-03-11 00:19:27 +0000 |
commit | 8ccfe899a7b7edebf776584d0e32139cc990c8d5 (patch) | |
tree | c7272eade2055237826538dc2b8597226c61de97 | |
parent | bd5e03b6d996aa39a6f607a55ffd0691a55b1cee (diff) | |
parent | 2c1078fbbd550d8adb7ca0d39447bfebc6092012 (diff) | |
download | frameworks_base-8ccfe899a7b7edebf776584d0e32139cc990c8d5.zip frameworks_base-8ccfe899a7b7edebf776584d0e32139cc990c8d5.tar.gz frameworks_base-8ccfe899a7b7edebf776584d0e32139cc990c8d5.tar.bz2 |
Merge "resolved conflicts for merge of b6d6c04a to master"
3 files changed, 9 insertions, 7 deletions
diff --git a/core/java/com/android/internal/os/InstallerConnection.java b/core/java/com/android/internal/os/InstallerConnection.java index 2f30ebc..433a54b 100644 --- a/core/java/com/android/internal/os/InstallerConnection.java +++ b/core/java/com/android/internal/os/InstallerConnection.java @@ -91,11 +91,11 @@ public class InstallerConnection { } public int dexopt(String apkPath, int uid, boolean isPublic, String instructionSet) { - return dexopt(apkPath, uid, isPublic, "*", instructionSet, false); + return dexopt(apkPath, uid, isPublic, "*", instructionSet, false, false); } public int dexopt(String apkPath, int uid, boolean isPublic, String pkgName, - String instructionSet, boolean vmSafeMode) { + String instructionSet, boolean vmSafeMode, boolean debuggable) { StringBuilder builder = new StringBuilder("dexopt"); builder.append(' '); builder.append(apkPath); @@ -106,8 +106,8 @@ public class InstallerConnection { builder.append(pkgName); builder.append(' '); builder.append(instructionSet); - builder.append(' '); builder.append(vmSafeMode ? " 1" : " 0"); + builder.append(debuggable ? " 1" : " 0"); return execute(builder.toString()); } diff --git a/services/core/java/com/android/server/pm/Installer.java b/services/core/java/com/android/server/pm/Installer.java index 31c604f..5cde8ea 100644 --- a/services/core/java/com/android/server/pm/Installer.java +++ b/services/core/java/com/android/server/pm/Installer.java @@ -83,13 +83,14 @@ public final class Installer extends SystemService { } public int dexopt(String apkPath, int uid, boolean isPublic, String pkgName, - String instructionSet, boolean vmSafeMode) { + String instructionSet, boolean vmSafeMode, boolean debuggable) { if (!isValidInstructionSet(instructionSet)) { Slog.e(TAG, "Invalid instruction set: " + instructionSet); return -1; } - return mInstaller.dexopt(apkPath, uid, isPublic, pkgName, instructionSet, vmSafeMode); + return mInstaller.dexopt(apkPath, uid, isPublic, pkgName, instructionSet, vmSafeMode, + debuggable); } public int idmap(String targetApkPath, String overlayApkPath, int uid) { diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java index 0a7c5cf..2dbce0a 100644 --- a/services/core/java/com/android/server/pm/PackageDexOptimizer.java +++ b/services/core/java/com/android/server/pm/PackageDexOptimizer.java @@ -93,6 +93,7 @@ final class PackageDexOptimizer { } final boolean vmSafeMode = (pkg.applicationInfo.flags & ApplicationInfo.FLAG_VM_SAFE_MODE) != 0; + final boolean debuggable = (pkg.applicationInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0; final List<String> paths = pkg.getAllCodePathsExcludingResourceOnly(); boolean performedDexOpt = false; @@ -118,11 +119,11 @@ final class PackageDexOptimizer { if (forceDex || (!defer && isDexOptNeeded == DexFile.DEXOPT_NEEDED)) { Log.i(TAG, "Running dexopt on: " + path + " pkg=" + pkg.applicationInfo.packageName + " isa=" + dexCodeInstructionSet - + " vmSafeMode=" + vmSafeMode); + + " vmSafeMode=" + vmSafeMode + " debuggable=" + debuggable); final int sharedGid = UserHandle.getSharedAppGid(pkg.applicationInfo.uid); final int ret = mPackageManagerService.mInstaller.dexopt(path, sharedGid, !pkg.isForwardLocked(), pkg.packageName, dexCodeInstructionSet, - vmSafeMode); + vmSafeMode, debuggable); if (ret < 0) { // Don't bother running dexopt again if we failed, it will probably |