From 9c0c4b7a588b3afe80dc16c133921fee991f53d3 Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Tue, 11 Aug 2009 19:16:46 -0700 Subject: [PATCH] Fix issue #2048267: Run zipalign on all prebuilts --- core/definitions.mk | 12 ++++++++++++ core/prebuilt.mk | 7 +++++++ 2 files changed, 19 insertions(+) diff --git a/core/definitions.mk b/core/definitions.mk index 1c2f05b20..e4d2ecbda 100644 --- a/core/definitions.mk +++ b/core/definitions.mk @@ -1469,6 +1469,12 @@ define copy-file-to-target-with-cp $(hide) cp -fp $< $@ endef +# The same as copy-file-to-target, but use the zipalign tool to do so. +define copy-file-to-target-with-zipalign +@mkdir -p $(dir $@) +$(hide) $(ZIPALIGN) -f 4 $< $@ +endef + # The same as copy-file-to-target, but strip out "# comment"-style # comments (for config files and such). define copy-file-to-target-strip-comments @@ -1496,6 +1502,12 @@ define transform-prebuilt-to-target $(copy-file-to-target) endef +# Copy a prebuilt file to a target location, using zipalign on it. +define transform-prebuilt-to-target-with-zipalign +@echo "$(if $(PRIVATE_IS_HOST_MODULE),host,target) Prebuilt APK: $(PRIVATE_MODULE) ($@)" +$(copy-file-to-target-with-zipalign) +endef + # Copy a prebuilt file to a target location, stripping "# comment" comments. define transform-prebuilt-to-target-strip-comments @echo "$(if $(PRIVATE_IS_HOST_MODULE),host,target) Prebuilt: $(PRIVATE_MODULE) ($@)" diff --git a/core/prebuilt.mk b/core/prebuilt.mk index 6df276cb2..34d2453e0 100644 --- a/core/prebuilt.mk +++ b/core/prebuilt.mk @@ -26,6 +26,11 @@ else prebuilt_module_is_a_library := endif +# Ensure that prebuilt .apks have been aligned. +ifneq ($(filter APPS,$(LOCAL_MODULE_CLASS)),) +$(LOCAL_BUILT_MODULE) : $(LOCAL_PATH)/$(LOCAL_SRC_FILES) | $(ZIPALIGN) + $(transform-prebuilt-to-target-with-zipalign) +else ifneq ($(LOCAL_PREBUILT_STRIP_COMMENTS),) $(LOCAL_BUILT_MODULE) : $(LOCAL_PATH)/$(LOCAL_SRC_FILES) $(transform-prebuilt-to-target-strip-comments) @@ -33,6 +38,8 @@ else $(LOCAL_BUILT_MODULE) : $(LOCAL_PATH)/$(LOCAL_SRC_FILES) | $(ACP) $(transform-prebuilt-to-target) endif +endif + ifneq ($(prebuilt_module_is_a_library),) ifneq ($(LOCAL_IS_HOST_MODULE),) $(transform-host-ranlib-copy-hack) -- 2.11.0