[automerge] Show a warning about mismatching test / APK certs 2p: 983caeddb4

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16988388

Bug: 220198493
Change-Id: I6712d7ef5ab90c50574a5198495cab93c7ef3a97
Merged-In: Iebbe1c8749ef43ac310179698a048a93be47e24b
This commit is contained in:
Presubmit Automerger Backend
2022-02-23 22:05:01 +00:00

View File

@@ -13813,14 +13813,26 @@ public class ActivityManagerService extends IActivityManager.Stub
return false;
}
if (!Build.IS_DEBUGGABLE) {
int match = mContext.getPackageManager().checkSignatures(
ii.targetPackage, ii.packageName);
if (match < 0 && match != PackageManager.SIGNATURE_FIRST_NOT_SIGNED) {
int match = mContext.getPackageManager().checkSignatures(
ii.targetPackage, ii.packageName);
if (match < 0 && match != PackageManager.SIGNATURE_FIRST_NOT_SIGNED) {
if (Build.IS_DEBUGGABLE) {
String message = "Instrumentation test " + ii.packageName
+ " doesn't have a signature matching the target "
+ ii.targetPackage
+ ", which would not be allowed on the production Android builds";
if (callingUid != Process.ROOT_UID) {
Slog.e(TAG, message
+ ". THIS WILL BE DISALLOWED ON FUTURE ANDROID VERSIONS"
+ " unless from a rooted ADB shell.");
} else {
Slog.w(TAG, message);
}
} else {
String msg = "Permission Denial: starting instrumentation "
+ className + " from pid="
+ Binder.getCallingPid()
+ ", uid=" + Binder.getCallingPid()
+ ", uid=" + Binder.getCallingUid()
+ " not allowed because package " + ii.packageName
+ " does not have a signature matching the target "
+ ii.targetPackage;