Merge "Use the latest static shared lib version for signature checks."
diff --git a/services/core/java/com/android/server/pm/InstallPackageHelper.java b/services/core/java/com/android/server/pm/InstallPackageHelper.java
index c9478dd..6a5d76b 100644
--- a/services/core/java/com/android/server/pm/InstallPackageHelper.java
+++ b/services/core/java/com/android/server/pm/InstallPackageHelper.java
@@ -1221,25 +1221,24 @@
}
}
+ // Static shared libs have same package with different versions where
+ // we internally use a synthetic package name to allow multiple versions
+ // of the same package, therefore we need to compare signatures against
+ // the package setting for the latest library version.
+ if (parsedPackage.isStaticSharedLibrary()) {
+ SharedLibraryInfo libraryInfo =
+ mSharedLibraries.getLatestStaticSharedLibraVersionLPr(parsedPackage);
+ if (libraryInfo != null) {
+ signatureCheckPs = mPm.mSettings.getPackageLPr(libraryInfo.getPackageName());
+ }
+ }
+
if (signatureCheckPs != null) {
if (DEBUG_INSTALL) {
Slog.d(TAG,
"Existing package for signature checking: " + signatureCheckPs);
}
- // Static shared libs have same package with different versions where
- // we internally use a synthetic package name to allow multiple versions
- // of the same package, therefore we need to compare signatures against
- // the package setting for the latest library version.
- if (parsedPackage.isStaticSharedLibrary()) {
- SharedLibraryInfo libraryInfo =
- mSharedLibraries.getLatestStaticSharedLibraVersionLPr(parsedPackage);
- if (libraryInfo != null) {
- signatureCheckPs = mPm.mSettings.getPackageLPr(
- libraryInfo.getPackageName());
- }
- }
-
// Quick validity check that we're signed correctly if updating;
// we'll check this again later when scanning, but we want to
// bail early here before tripping over redefined permissions.