blob: 74c9b659636bc70d3e366def002f6171ddb0b684 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
diff --git a/diffoscope/comparators/apk.py b/diffoscope/comparators/apk.py
index 061fbbb0..ce49b835 100644
--- a/diffoscope/comparators/apk.py
+++ b/diffoscope/comparators/apk.py
@@ -335,7 +335,14 @@ def get_v2_signing_keys(path):
return "\n".join(textwrap.wrap(binascii.hexlify(x).decode("utf-8")))
output = []
- for k, v in sorted(instance._v2_blocks.items()):
+ blocks = instance._v2_blocks
+ if isinstance(blocks, dict):
+ blocks = blocks.items()
+ else:
+ # androguard >= 4.1.4 preserves blocks with duplicate IDs in a list.
+ blocks = ((block.id, block.data) for block in blocks)
+
+ for k, v in sorted(blocks):
output.append("Key {}:\n{}\n".format(hex(k), format_key(v)))
return "\n".join(output)
|