Merge "Add min_sdk_version to BuildManifest.apk"

This commit is contained in:
Victor Hsieh
2022-01-10 19:59:53 +00:00
committed by Gerrit Code Review
2 changed files with 16 additions and 1 deletions

View File

@@ -2782,18 +2782,23 @@ FSVERITY_APK_OUT := $(TARGET_OUT)/etc/security/fsverity/BuildManifest.apk
FSVERITY_APK_MANIFEST_PATH := system/security/fsverity/AndroidManifest.xml
$(FSVERITY_APK_OUT): PRIVATE_FSVERITY := $(HOST_OUT_EXECUTABLES)/fsverity
$(FSVERITY_APK_OUT): PRIVATE_AAPT2 := $(HOST_OUT_EXECUTABLES)/aapt2
$(FSVERITY_APK_OUT): PRIVATE_MIN_SDK_VERSION := $(DEFAULT_APP_TARGET_SDK)
$(FSVERITY_APK_OUT): PRIVATE_APKSIGNER := $(HOST_OUT_EXECUTABLES)/apksigner
$(FSVERITY_APK_OUT): PRIVATE_MANIFEST := $(FSVERITY_APK_MANIFEST_PATH)
$(FSVERITY_APK_OUT): PRIVATE_FRAMEWORK_RES := $(call intermediates-dir-for,APPS,framework-res,,COMMON)/package-export.apk
$(FSVERITY_APK_OUT): PRIVATE_KEY := $(FSVERITY_APK_KEY_PATH)
$(FSVERITY_APK_OUT): PRIVATE_INPUTS := $(fsverity-metadata-targets)
$(FSVERITY_APK_OUT): $(HOST_OUT_EXECUTABLES)/fsverity_manifest_generator \
$(HOST_OUT_EXECUTABLES)/fsverity $(HOST_OUT_EXECUTABLES)/aapt2 \
$(HOST_OUT_EXECUTABLES)/apksigner $(FSVERITY_APK_MANIFEST_PATH) \
$(FSVERITY_APK_KEY_PATH).x509.pem $(FSVERITY_APK_KEY_PATH).pk8 \
$(call intermediates-dir-for,APPS,framework-res,,COMMON)/package-export.apk \
$(fsverity-metadata-targets)
$< --fsverity-path $(PRIVATE_FSVERITY) --aapt2-path $(PRIVATE_AAPT2) \
--min-sdk-version $(PRIVATE_MIN_SDK_VERSION) \
--apksigner-path $(PRIVATE_APKSIGNER) --apk-key-path $(PRIVATE_KEY) \
--apk-manifest-path $(PRIVATE_MANIFEST) --output $@ \
--apk-manifest-path $(PRIVATE_MANIFEST) --framework-res $(PRIVATE_FRAMEWORK_RES) \
--output $@ \
--base-dir $(PRODUCT_OUT) $(PRIVATE_INPUTS)
ALL_DEFAULT_INSTALLED_MODULES += $(FSVERITY_APK_OUT)

View File

@@ -50,6 +50,14 @@ if __name__ == '__main__':
'--aapt2-path',
help='path to the aapt2 program',
required=True)
p.add_argument(
'--min-sdk-version',
help='minimum supported sdk version of the generated manifest apk',
required=True)
p.add_argument(
'--framework-res',
help='path to framework-res.apk',
required=True)
p.add_argument(
'--apksigner-path',
help='path to the apksigner program',
@@ -89,6 +97,8 @@ if __name__ == '__main__':
common.RunAndCheckOutput([args.aapt2_path, "link",
"-A", os.path.join(temp_dir, "assets"),
"-o", args.output,
"--min-sdk-version", args.min_sdk_version,
"-I", args.framework_res,
"--manifest", args.apk_manifest_path])
common.RunAndCheckOutput([args.apksigner_path, "sign", "--in", args.output,
"--cert", args.apk_key_path + ".x509.pem",