diff options
author | Alex Light <allight@google.com> | 2014-07-18 16:34:38 -0700 |
---|---|---|
committer | Alex Light <allight@google.com> | 2014-08-05 10:22:10 -0700 |
commit | 1995d12d26bbaced73fd47f91b767731d290972c (patch) | |
tree | 77b651e58b9f7fc8cc6d64be3b1e53de5955e95a /services/java/com/android/server/pm/Installer.java | |
parent | 20bac14e521dd551addd8541380f1d9b6c910bd2 (diff) |
Make system use patchoat to relocate during runtime.
Make PackageManagerService aware of patchoat and make it use it when
appropriate.
Bug: 15358152
Change-Id: Ibe92d8b55a24bbf718b0416a21b76e5df7a2de26
Diffstat (limited to 'services/java/com/android/server/pm/Installer.java')
-rw-r--r-- | services/java/com/android/server/pm/Installer.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/services/java/com/android/server/pm/Installer.java b/services/java/com/android/server/pm/Installer.java index 66615c9895c6..0f384b1c372e 100644 --- a/services/java/com/android/server/pm/Installer.java +++ b/services/java/com/android/server/pm/Installer.java @@ -202,6 +202,34 @@ public final class Installer { return execute(builder.toString()); } + public int patchoat(String apkPath, int uid, boolean isPublic, String pkgName, + String instructionSet) { + StringBuilder builder = new StringBuilder("patchoat"); + builder.append(' '); + builder.append(apkPath); + builder.append(' '); + builder.append(uid); + builder.append(isPublic ? " 1" : " 0"); + builder.append(' '); + builder.append(pkgName); + builder.append(' '); + builder.append(instructionSet); + return execute(builder.toString()); + } + + public int patchoat(String apkPath, int uid, boolean isPublic, String instructionSet) { + StringBuilder builder = new StringBuilder("patchoat"); + builder.append(' '); + builder.append(apkPath); + builder.append(' '); + builder.append(uid); + builder.append(isPublic ? " 1" : " 0"); + builder.append(" *"); // No pkgName arg present + builder.append(' '); + builder.append(instructionSet); + return execute(builder.toString()); + } + public int dexopt(String apkPath, int uid, boolean isPublic, String instructionSet) { StringBuilder builder = new StringBuilder("dexopt"); builder.append(' '); |