aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2023-02-11 02:57:48 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-02-11 02:57:48 +0000
commit128fee2154b75c11f002cacc7e6af8eaff1f0a4c (patch)
tree8b4d70da4edb7e4736e03cc739ffdb55efc19ebc
parent051bd349b0515104c2b56bc47d7728031ae79cae (diff)
parent240c63fba3d5f34b37cfea5b1a29a5ee466985c8 (diff)
downloadbuild-128fee2154b75c11f002cacc7e6af8eaff1f0a4c.tar.gz
Merge "Support SHA minSdkVersion in APK in APEX" into tm-dev am: 240c63fba3
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/+/21337794 Change-Id: I1800b270c6e13d73228ea4bd6d2d2e5f7fb6d0f9 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--tools/releasetools/common.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py
index 418d8daa85..ec49b0d36f 100644
--- a/tools/releasetools/common.py
+++ b/tools/releasetools/common.py
@@ -2309,12 +2309,22 @@ def GetMinSdkVersionInt(apk_name, codename_to_api_level_map):
try:
return int(version)
except ValueError:
- # Not a decimal number. Codename?
- if version in codename_to_api_level_map:
- return codename_to_api_level_map[version]
+ # Not a decimal number.
+ #
+ # It could be either a straight codename, e.g.
+ # UpsideDownCake
+ #
+ # Or a codename with API fingerprint SHA, e.g.
+ # UpsideDownCake.e7d3947f14eb9dc4fec25ff6c5f8563e
+ #
+ # Extract the codename and try and map it to a version number.
+ split = version.split(".")
+ codename = split[0]
+ if codename in codename_to_api_level_map:
+ return codename_to_api_level_map[codename]
raise ExternalError(
- "Unknown minSdkVersion: '{}'. Known codenames: {}".format(
- version, codename_to_api_level_map))
+ "Unknown codename: '{}' from minSdkVersion: '{}'. Known codenames: {}".format(
+ codename, version, codename_to_api_level_map))
def SignFile(input_name, output_name, key, password, min_api_level=None,