diff options
author | Kelvin Zhang <zhangkelvin@google.com> | 2022-02-07 16:34:13 -0800 |
---|---|---|
committer | Kelvin Zhang <zhangkelvin@google.com> | 2022-02-07 16:38:09 -0800 |
commit | 846f285d55d7b3c333c20a162f50c3a7e4cf3b8b (patch) | |
tree | ba60fdb273f91fae81a133618b56439909d39770 | |
parent | 9d021e996bf66cb6ff9f9cd5889853fa79e4d3fd (diff) | |
download | build-846f285d55d7b3c333c20a162f50c3a7e4cf3b8b.tar.gz |
Update APK parser to be compatible with new signer output
Test: th
Bug: 218304082
Change-Id: If79ffdb1e4cec192ef796a39dd0ed5b38bc430e0
-rwxr-xr-x | tools/releasetools/check_target_files_signatures.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/tools/releasetools/check_target_files_signatures.py b/tools/releasetools/check_target_files_signatures.py index 0f56fb9056..d935607e43 100755 --- a/tools/releasetools/check_target_files_signatures.py +++ b/tools/releasetools/check_target_files_signatures.py @@ -237,9 +237,11 @@ class APK(object): # Signer #1 certificate DN: ... # Signer #1 certificate SHA-256 digest: ... # Signer #1 certificate SHA-1 digest: ... + # Signer (minSdkVersion=24, maxSdkVersion=32) certificate SHA-256 digest: 56be132b780656fe2444cd34326eb5d7aac91d2096abf0fe673a99270622ec87 + # Signer (minSdkVersion=24, maxSdkVersion=32) certificate SHA-1 digest: 19da94896ce4078c38ca695701f1dec741ec6d67 # ... certs_info = {} - certificate_regex = re.compile(r"(Signer #[0-9]+) (certificate .*):(.*)") + certificate_regex = re.compile(r"(Signer (?:#[0-9]+|\(.*\))) (certificate .*):(.*)") for line in output.splitlines(): m = certificate_regex.match(line) if not m: @@ -342,8 +344,8 @@ class TargetFiles(object): apk = APK(fullname, displayname) self.apks[apk.filename] = apk self.apks_by_basename[os.path.basename(apk.filename)] = apk - - self.max_pkg_len = max(self.max_pkg_len, len(apk.package)) + if apk.package: + self.max_pkg_len = max(self.max_pkg_len, len(apk.package)) self.max_fn_len = max(self.max_fn_len, len(apk.filename)) def CheckSharedUids(self): @@ -396,7 +398,8 @@ class TargetFiles(object): by_digest = {} for apk in self.apks.values(): for digest in apk.cert_digests: - by_digest.setdefault(digest, []).append((apk.package, apk)) + if apk.package: + by_digest.setdefault(digest, []).append((apk.package, apk)) order = [(-len(v), k) for (k, v) in by_digest.items()] order.sort() |