OSDN Git Service

Allow changing signing cert for system apps that use shared users
authorBryan Henry <bryanhenry@google.com>
Sun, 6 May 2018 20:36:17 +0000 (13:36 -0700)
committerBryan Henry <bryanhenry@google.com>
Sun, 6 May 2018 20:36:17 +0000 (13:36 -0700)
commitad8a0da6a7b92e244953460068aebd4b40a5614e
treeab6a82996762a992f0119a550bf165ffbf8d2cca
parentb37e1cd82fcaa7058e9fdf34749fcd19a7e2b2b4
Allow changing signing cert for system apps that use shared users

This allows changing the signing certificate of system apps that use
shared users across an OTA, but still verifies that all signatures
within a given boot are consistent for a given shared user.

Bug: 72837107
Bug: 77973716
Bug: 74501739
Test: Flashed dev-keys build into slot b and (local) release-keys build
into slot a, booted into b, then successfully booted into a without
wiping userdata.
Test: Same as above, but treated com.android.mtp (uses android.media UID)
as PRESIGNED during release signing so it kept dev-keys. Verified it
wasn't scanned first and that only that package was rejected.
Test: Same as above, but treated com.android.providers.downloads (uses
android.media UID) as PRESIGNED during release signing so it kept
dev-keys. Verified it was scanned first (out of APKs using this UID) and
that only this package was accepted. Verified other APKs using
android.media UID that were scanned after were rejected.

Change-Id: I2076e8358cae22e45a24aa4c32a1b8dd446679ca
services/core/java/com/android/server/pm/PackageManagerService.java
services/core/java/com/android/server/pm/SharedUserSetting.java