diff options
| -rwxr-xr-x[-rw-r--r--] | services/java/com/android/server/pm/PackageManagerService.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java index 938d93a74df9..f010f87dee6c 100644..100755 --- a/services/java/com/android/server/pm/PackageManagerService.java +++ b/services/java/com/android/server/pm/PackageManagerService.java @@ -2918,10 +2918,13 @@ public class PackageManagerService extends IPackageManager.Stub { return null; } // The apk is forward locked (not public) if its code and resources - // are kept in different files. + // are kept in different files. (except for app in either system or + // vendor path). // TODO grab this value from PackageSettings - if (ps != null && !ps.codePath.equals(ps.resourcePath)) { - parseFlags |= PackageParser.PARSE_FORWARD_LOCK; + if ((parseFlags & PackageParser.PARSE_IS_SYSTEM_DIR) == 0) { + if (ps != null && !ps.codePath.equals(ps.resourcePath)) { + parseFlags |= PackageParser.PARSE_FORWARD_LOCK; + } } String codePath = null; |