diff options
| author | 2017-11-17 02:46:57 +0000 | |
|---|---|---|
| committer | 2017-11-17 02:46:57 +0000 | |
| commit | af657ae978d04445d15c66f82cac5eb420f7e616 (patch) | |
| tree | a6069a43eeb08b38e2ab76ebfb27164c7a266b75 | |
| parent | a3185b2ff281334e7f42f8bb8ea572d81d60ce72 (diff) | |
| parent | b0e6508a5b1ededcdb335e659d6b5109c86fd77f (diff) | |
Merge "Workaround to get passed the broken install flow"
am: b0e6508a5b
Change-Id: Icbad0d985b4d8d3e206ee5e426cdd1f58955aec1
| -rw-r--r-- | core/java/android/os/Process.java | 3 | ||||
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageDexOptimizer.java | 8 |
2 files changed, 10 insertions, 1 deletions
diff --git a/core/java/android/os/Process.java b/core/java/android/os/Process.java index b5d62e555edc..0874d93e8262 100644 --- a/core/java/android/os/Process.java +++ b/core/java/android/os/Process.java @@ -151,6 +151,9 @@ public class Process { */ public static final int OTA_UPDATE_UID = 1061; + /** {@hide} */ + public static final int NOBODY_UID = 9999; + /** * Defines the start of a range of UIDs (and GIDs), going from this * number to {@link #LAST_APPLICATION_UID} that are reserved for assigning diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java index ef015e7e418b..253982b99830 100644 --- a/services/core/java/com/android/server/pm/PackageDexOptimizer.java +++ b/services/core/java/com/android/server/pm/PackageDexOptimizer.java @@ -154,7 +154,13 @@ public class PackageDexOptimizer { targetInstructionSets : getAppDexInstructionSets(pkg.applicationInfo); final String[] dexCodeInstructionSets = getDexCodeInstructionSets(instructionSets); final List<String> paths = pkg.getAllCodePaths(); - final int sharedGid = UserHandle.getSharedAppGid(pkg.applicationInfo.uid); + + int sharedGid = UserHandle.getSharedAppGid(pkg.applicationInfo.uid); + if (sharedGid == -1) { + Slog.wtf(TAG, "Well this is awkward; package " + pkg.applicationInfo.name + " had UID " + + pkg.applicationInfo.uid, new Throwable()); + sharedGid = android.os.Process.NOBODY_UID; + } // Get the class loader context dependencies. // For each code path in the package, this array contains the class loader context that |