Only allow ROOT'ed ADB to run unit tests ignoring certificates.

Bug: 220198493
Test: Treehugger
Change-Id: Iebbe1c8749ef43ac310179698a048a93be47e24b
This commit is contained in:
Makoto Onuki
2022-02-23 11:25:10 -08:00
parent 4b5f06df78
commit cb5d61b44c

View File

@@ -14330,7 +14330,8 @@ public class ActivityManagerService extends IActivityManager.Stub
int match = mContext.getPackageManager().checkSignatures(
ii.targetPackage, ii.packageName);
if (match < 0 && match != PackageManager.SIGNATURE_FIRST_NOT_SIGNED) {
if (Build.IS_DEBUGGABLE && (flags & INSTR_FLAG_ALWAYS_CHECK_SIGNATURE) == 0) {
if (Build.IS_DEBUGGABLE && (callingUid == Process.ROOT_UID)
&& (flags & INSTR_FLAG_ALWAYS_CHECK_SIGNATURE) == 0) {
Slog.w(TAG, "Instrumentation test " + ii.packageName
+ " doesn't have a signature matching the target " + ii.targetPackage
+ ", which would not be allowed on the production Android builds");