Loading core/Makefile +39 −26 Original line number Diff line number Diff line Loading @@ -679,10 +679,11 @@ $(kernel_notice_file): \ # before the rules that use that variable to build the image. ALL_DEFAULT_INSTALLED_MODULES += $(TARGET_OUT_ETC)/security/otacerts.zip $(TARGET_OUT_ETC)/security/otacerts.zip: KEY_CERT_PAIR := $(DEFAULT_KEY_CERT_PAIR) $(TARGET_OUT_ETC)/security/otacerts.zip: $(addsuffix .x509.pem,$(DEFAULT_KEY_CERT_PAIR)) $(TARGET_OUT_ETC)/security/otacerts.zip: $(addsuffix .x509.pem,$(DEFAULT_KEY_CERT_PAIR)) | $(ZIPTIME) $(hide) rm -f $@ $(hide) mkdir -p $(dir $@) $(hide) zip -qj $@ $< $(hide) zip -qjX $@ $< $(remove-timestamps-from-package) .PHONY: otacerts otacerts: $(TARGET_OUT_ETC)/security/otacerts.zip Loading Loading @@ -940,9 +941,10 @@ $(INSTALLED_RECOVERYIMAGE_TARGET): $(MKBOOTFS) $(MKBOOTIMG) $(MINIGZIP) \ $(call build-recoveryimage-target, $@) ifneq ($(BOARD_USES_FULL_RECOVERY_IMAGE),true) $(RECOVERY_RESOURCE_ZIP): $(INSTALLED_RECOVERYIMAGE_TARGET) $(RECOVERY_RESOURCE_ZIP): $(INSTALLED_RECOVERYIMAGE_TARGET) | $(ZIPTIME) $(hide) mkdir -p $(dir $@) $(hide) find $(TARGET_RECOVERY_ROOT_OUT)/res -type f | sort | zip -0qrj $@ -@ $(hide) find $(TARGET_RECOVERY_ROOT_OUT)/res -type f | sort | zip -0qrjX $@ -@ $(remove-timestamps-from-package) endif .PHONY: recoveryimage-nodeps Loading Loading @@ -1130,23 +1132,24 @@ stnod: systemtarball-nodeps ## Files under out dir will be rejected to prevent possible conflicts with other rules. PDK_PLATFORM_ZIP_PRODUCT_BINARIES := $(filter-out $(OUT_DIR)/%,$(PDK_PLATFORM_ZIP_PRODUCT_BINARIES)) INSTALLED_PLATFORM_ZIP := $(PRODUCT_OUT)/platform.zip $(INSTALLED_PLATFORM_ZIP) : $(INTERNAL_SYSTEMIMAGE_FILES) $(INSTALLED_PLATFORM_ZIP) : $(INTERNAL_SYSTEMIMAGE_FILES) | $(ZIPTIME) $(call pretty,"Platform zip package: $(INSTALLED_PLATFORM_ZIP)") $(hide) rm -f $@ $(hide) cd $(dir $@) && zip -qry $(notdir $@) \ $(hide) cd $(dir $@) && zip -qryX $(notdir $@) \ $(TARGET_COPY_OUT_SYSTEM) \ $(patsubst $(PRODUCT_OUT)/%, %, $(TARGET_OUT_NOTICE_FILES)) \ $(addprefix symbols/,$(PDK_SYMBOL_FILES_LIST)) ifdef BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE $(hide) cd $(dir $@) && zip -qry $(notdir $@) \ $(hide) cd $(dir $@) && zip -qryX $(notdir $@) \ $(TARGET_COPY_OUT_VENDOR) endif ifneq ($(PDK_PLATFORM_JAVA_ZIP_CONTENTS),) $(hide) cd $(OUT_DIR) && zip -qry $(patsubst $(OUT_DIR)/%,%,$@) $(PDK_PLATFORM_JAVA_ZIP_CONTENTS) $(hide) cd $(OUT_DIR) && zip -qryX $(patsubst $(OUT_DIR)/%,%,$@) $(PDK_PLATFORM_JAVA_ZIP_CONTENTS) endif ifneq ($(PDK_PLATFORM_ZIP_PRODUCT_BINARIES),) $(hide) zip -qry $@ $(PDK_PLATFORM_ZIP_PRODUCT_BINARIES) $(hide) zip -qryX $@ $(PDK_PLATFORM_ZIP_PRODUCT_BINARIES) endif $(remove-timestamps-from-package) .PHONY: platform platform: $(INSTALLED_PLATFORM_ZIP) Loading Loading @@ -1405,7 +1408,7 @@ otatools: $(OTATOOLS) BUILT_OTATOOLS_PACKAGE := $(PRODUCT_OUT)/otatools.zip $(BUILT_OTATOOLS_PACKAGE): zip_root := $(call intermediates-dir-for,PACKAGING,otatools)/otatools $(BUILT_OTATOOLS_PACKAGE): $(OTATOOLS) | $(ACP) $(BUILT_OTATOOLS_PACKAGE): $(OTATOOLS) | $(ACP) $(ZIPTIME) @echo "Package OTA tools: $@" $(hide) rm -rf $@ $(zip_root) $(hide) mkdir -p $(dir $@) $(zip_root)/bin $(zip_root)/framework $(zip_root)/releasetools $(zip_root)/system/extras/verity Loading @@ -1414,9 +1417,10 @@ $(BUILT_OTATOOLS_PACKAGE): $(OTATOOLS) | $(ACP) $(hide) $(ACP) -p system/extras/verity/build_verity_metadata.py $(zip_root)/system/extras/verity/ $(hide) $(ACP) -r -d -p build/tools/releasetools/* $(zip_root)/releasetools $(hide) rm -rf $@ $(zip_root)/releasetools/*.pyc $(hide) (cd $(zip_root) && zip -qry $(abspath $@) *) $(hide) zip -qry $(abspath $@) build/target/product/security/ $(hide) find device vendor -name \*.pk8 -o -name \*.x509.pem -o -name oem.prop | xargs zip -qry $(abspath $@)>/dev/null || true $(hide) (cd $(zip_root) && zip -qryX $(abspath $@) *) $(hide) zip -qryX $(abspath $@) build/target/product/security/ $(hide) find device vendor -name \*.pk8 -o -name \*.x509.pem -o -name oem.prop | xargs zip -qryX $(abspath $@)>/dev/null || true $(remove-timestamps-from-package) .PHONY: otatools-package otatools-package: $(BUILT_OTATOOLS_PACKAGE) Loading Loading @@ -1493,7 +1497,7 @@ $(BUILT_TARGET_FILES_PACKAGE): \ $(SELINUX_FC) \ $(APKCERTS_FILE) \ $(HOST_OUT_EXECUTABLES)/fs_config \ | $(ACP) | $(ACP) $(ZIPTIME) @echo "Package target files: $@" $(hide) rm -rf $@ $(zip_root) $(hide) mkdir -p $(dir $@) $(zip_root) Loading Loading @@ -1638,7 +1642,7 @@ ifeq ($(BREAKPAD_GENERATE_SYMBOLS),true) $(hide) $(ACP) -r $(TARGET_OUT_BREAKPAD) $(zip_root)/BREAKPAD endif @# Zip everything up, preserving symlinks $(hide) (cd $(zip_root) && zip -qry ../$(notdir $@) .) $(hide) (cd $(zip_root) && zip -qryX ../$(notdir $@) .) @# Run fs_config on all the system, vendor, boot ramdisk, @# and recovery ramdisk files in the zip, and save the output $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="SYSTEM/" } /^SYSTEM\// {print "system/" $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config -C -D $(TARGET_OUT) -S $(SELINUX_FC) > $(zip_root)/META/filesystem_config.txt Loading @@ -1651,9 +1655,10 @@ endif ifneq ($(INSTALLED_RECOVERYIMAGE_TARGET),) $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="RECOVERY/RAMDISK/" } /^RECOVERY\/RAMDISK\// {print $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config -C -D $(TARGET_OUT) -S $(SELINUX_FC) > $(zip_root)/META/recovery_filesystem_config.txt endif $(hide) (cd $(zip_root) && zip -q ../$(notdir $@) META/*filesystem_config.txt) $(hide) (cd $(zip_root) && zip -qX ../$(notdir $@) META/*filesystem_config.txt) $(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$$PATH MKBOOTIMG=$(MKBOOTIMG) \ ./build/tools/releasetools/add_img_to_target_files -v -p $(HOST_OUT) $@ $(remove-timestamps-from-package) .PHONY: target-files-package target-files-package: $(BUILT_TARGET_FILES_PACKAGE) Loading Loading @@ -1727,11 +1732,12 @@ SYMBOLS_ZIP := $(PRODUCT_OUT)/$(name).zip ifndef TARGET_BUILD_APPS $(SYMBOLS_ZIP): $(INSTALLED_SYSTEMIMAGE) $(INSTALLED_BOOTIMAGE_TARGET) endif $(SYMBOLS_ZIP): $(SYMBOLS_ZIP): | $(ZIPTIME) @echo "Package symbols: $@" $(hide) rm -rf $@ $(hide) mkdir -p $(dir $@) $(TARGET_OUT_UNSTRIPPED) $(hide) zip -qr $@ $(TARGET_OUT_UNSTRIPPED) $(hide) zip -qrX $@ $(TARGET_OUT_UNSTRIPPED) $(remove-timestamps-from-package) # ----------------------------------------------------------------- # A zip of the Android Apps. Not keeping full path so that we don't Loading @@ -1744,7 +1750,7 @@ endif name := $(name)-apps-$(FILE_NAME_TAG) APPS_ZIP := $(PRODUCT_OUT)/$(name).zip $(APPS_ZIP): $(INSTALLED_SYSTEMIMAGE) $(APPS_ZIP): $(INSTALLED_SYSTEMIMAGE) | $(ZIPTIME) @echo "Package apps: $@" $(hide) rm -rf $@ $(hide) mkdir -p $(dir $@) Loading @@ -1753,8 +1759,9 @@ $(APPS_ZIP): $(INSTALLED_SYSTEMIMAGE) echo "No apps to zip up. Generating empty apps archive." ; \ a=$$(mktemp /tmp/XXXXXXX) && touch $$a && zip $@ $$a && zip -d $@ $$a; \ else \ zip -qj $@ $$apps_to_zip; \ zip -qjX $@ $$apps_to_zip; \ fi $(remove-timestamps-from-package) #------------------------------------------------------------------ # A zip of emma code coverage meta files. Generated for fully emma Loading @@ -1763,10 +1770,12 @@ $(APPS_ZIP): $(INSTALLED_SYSTEMIMAGE) ifeq (true,$(EMMA_INSTRUMENT)) EMMA_META_ZIP := $(PRODUCT_OUT)/emma_meta.zip # the dependency will be set up later in build/core/main.mk. $(EMMA_META_ZIP): | $(ZIPTIME) $(EMMA_META_ZIP) : @echo "Collecting Emma coverage meta files." $(hide) find $(TARGET_COMMON_OUT_ROOT) $(HOST_COMMON_OUT_ROOT) -name "coverage.em" | \ zip -@ -q $@ zip -@ -qX $@ $(remove-timestamps-from-package) endif # EMMA_INSTRUMENT=true Loading @@ -1777,18 +1786,20 @@ endif # EMMA_INSTRUMENT=true ifdef TARGET_BUILD_APPS PROGUARD_DICT_ZIP := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-proguard-dict-$(FILE_NAME_TAG).zip # the dependency will be set up later in build/core/main.mk. $(PROGUARD_DICT_ZIP): | $(ZIPTIME) $(PROGUARD_DICT_ZIP) : @echo "Packaging Proguard obfuscation dictionary files." $(hide) dict_files=`find $(TARGET_OUT_COMMON_INTERMEDIATES)/APPS -name proguard_dictionary`; \ if [ -n "$$dict_files" ]; then \ unobfuscated_jars=$${dict_files//proguard_dictionary/classes.jar}; \ zip -q $@ $$dict_files $$unobfuscated_jars; \ zip -qX $@ $$dict_files $$unobfuscated_jars; \ else \ touch $(dir $@)/zipdummy; \ (cd $(dir $@) && zip -q $(notdir $@) zipdummy); \ zip -qd $@ zipdummy; \ rm $(dir $@)/zipdummy; \ fi $(remove-timestamps-from-package) endif # TARGET_BUILD_APPS Loading @@ -1811,9 +1822,10 @@ name := $(TARGET_PRODUCT)-emulator-$(FILE_NAME_TAG) INTERNAL_EMULATOR_PACKAGE_TARGET := $(PRODUCT_OUT)/$(name).zip $(INTERNAL_EMULATOR_PACKAGE_TARGET): $(INTERNAL_EMULATOR_PACKAGE_FILES) $(INTERNAL_EMULATOR_PACKAGE_TARGET): $(INTERNAL_EMULATOR_PACKAGE_FILES) | $(ZIPTIME) @echo "Package: $@" $(hide) zip -qj $@ $(INTERNAL_EMULATOR_PACKAGE_FILES) $(hide) zip -qjX $@ $(INTERNAL_EMULATOR_PACKAGE_FILES) $(remove-timestamps-from-package) endif # ----------------------------------------------------------------- Loading Loading @@ -1913,7 +1925,7 @@ $(INTERNAL_SDK_TARGET): PRIVATE_INPUT_FILES := $(sdk_atree_files) # #SDK_GNU_ERROR := true $(INTERNAL_SDK_TARGET): $(deps) $(INTERNAL_SDK_TARGET): $(deps) | $(ZIPTIME) @echo "Package SDK: $@" $(hide) rm -rf $(PRIVATE_DIR) $@ $(hide) for f in $(target_gnu_MODULES); do \ Loading Loading @@ -1948,8 +1960,9 @@ $(INTERNAL_SDK_TARGET): $(deps) HOST_OUT_EXECUTABLES=$(HOST_OUT_EXECUTABLES) HOST_OS=$(HOST_OS) \ development/build/tools/sdk_clean.sh $(PRIVATE_DIR) && \ chmod -R ug+rwX $(PRIVATE_DIR) && \ cd $(dir $@) && zip -rq $(notdir $@) $(PRIVATE_NAME) \ cd $(dir $@) && zip -rqX $(notdir $@) $(PRIVATE_NAME) \ ) || ( rm -rf $(PRIVATE_DIR) $@ && exit 44 ) $(remove-timestamps-from-package) # Is a Windows SDK requested? If so, we need some definitions from here Loading core/config.mk +1 −0 Original line number Diff line number Diff line Loading @@ -524,6 +524,7 @@ ACP := $(BUILD_OUT_EXECUTABLES)/acp$(BUILD_EXECUTABLE_SUFFIX) # dx is java behind a shell script; no .exe necessary. DX := $(HOST_OUT_EXECUTABLES)/dx ZIPALIGN := $(HOST_OUT_EXECUTABLES)/zipalign$(HOST_EXECUTABLE_SUFFIX) ZIPTIME := $(HOST_OUT_EXECUTABLES)/ziptime$(HOST_EXECUTABLE_SUFFIX) # relocation packer RELOCATION_PACKER := prebuilts/misc/$(BUILD_OS)-$(HOST_PREBUILT_ARCH)/relocation_packer/relocation_packer Loading core/definitions.mk +9 −3 Original line number Diff line number Diff line Loading @@ -2094,13 +2094,13 @@ $(hide) mkdir -p $(addprefix $(dir $@)lib/,$(PRIVATE_JNI_SHARED_LIBRARIES_ABI)) $(foreach abi,$(PRIVATE_JNI_SHARED_LIBRARIES_ABI),\ $(call _add-jni-shared-libs-to-package-per-abi,$(abi),\ $(patsubst $(abi):%,%,$(filter $(abi):%,$(PRIVATE_JNI_SHARED_LIBRARIES))))) $(hide) (cd $(dir $@) && zip -qr $(JNI_COMPRESS_FLAGS) $(notdir $@) lib) $(hide) (cd $(dir $@) && zip -qrX $(JNI_COMPRESS_FLAGS) $(notdir $@) lib) $(hide) rm -rf $(dir $@)lib endef #TODO: update the manifest to point to the dex file define add-dex-to-package $(hide) zip -qj $@ $(dir $(PRIVATE_DEX_FILE))classes*.dex $(hide) zip -qjX $@ $(dir $(PRIVATE_DEX_FILE))classes*.dex endef # Add java resources added by the current module. Loading Loading @@ -2147,6 +2147,12 @@ $(hide) $(ZIPALIGN) \ $(hide) mv $@.aligned $@ endef # Remove dynamic timestamps from packages # define remove-timestamps-from-package $(hide) $(ZIPTIME) $@ endef # Uncompress shared libraries embedded in an apk. # define uncompress-shared-libs Loading @@ -2154,7 +2160,7 @@ $(hide) if unzip -l $@ $(PRIVATE_EMBEDDED_JNI_LIBS) >/dev/null ; then \ rm -rf $(dir $@)uncompressedlibs && mkdir $(dir $@)uncompressedlibs; \ unzip $@ $(PRIVATE_EMBEDDED_JNI_LIBS) -d $(dir $@)uncompressedlibs && \ zip -d $@ 'lib/*.so' && \ ( cd $(dir $@)uncompressedlibs && zip -D -r -0 ../$(notdir $@) lib ) && \ ( cd $(dir $@)uncompressedlibs && zip -D -r -X -0 ../$(notdir $@) lib ) && \ rm -rf $(dir $@)uncompressedlibs; \ fi endef Loading core/droiddoc.mk +3 −2 Original line number Diff line number Diff line Loading @@ -237,11 +237,12 @@ ifeq ($(strip $(LOCAL_UNINSTALLABLE_MODULE)),) # Define a rule to create a zip of these docs. out_zip := $(OUT_DOCS)/$(LOCAL_MODULE)-docs.zip $(out_zip): PRIVATE_DOCS_DIR := $(out_dir) $(out_zip): $(full_target) $(out_zip): $(full_target) | $(ZIPTIME) @echo Package docs: $@ @rm -f $@ @mkdir -p $(dir $@) $(hide) ( F=$$(pwd)/$@ ; cd $(PRIVATE_DOCS_DIR) && zip -rq $$F * ) $(hide) ( F=$$(pwd)/$@ ; cd $(PRIVATE_DOCS_DIR) && zip -rqX $$F * ) $(remove-timestamps-from-package) $(LOCAL_MODULE)-docs.zip : $(out_zip) Loading core/java_library.mk +2 −1 Original line number Diff line number Diff line Loading @@ -81,7 +81,7 @@ else # !LOCAL_IS_STATIC_JAVA_LIBRARY $(common_javalib.jar): PRIVATE_DEX_FILE := $(built_dex) $(common_javalib.jar): PRIVATE_SOURCE_ARCHIVE := $(full_classes_jarjar_jar) $(common_javalib.jar): PRIVATE_DONT_DELETE_JAR_DIRS := $(LOCAL_DONT_DELETE_JAR_DIRS) $(common_javalib.jar) : $(built_dex) $(java_resource_sources) $(common_javalib.jar) : $(built_dex) $(java_resource_sources) | $(ZIPTIME) @echo "target Jar: $(PRIVATE_MODULE) ($@)" ifdef LOCAL_JACK_ENABLED $(create-empty-package) Loading @@ -92,6 +92,7 @@ endif ifdef LOCAL_JACK_ENABLED $(add-carried-jack-resources) endif $(remove-timestamps-from-package) ifdef LOCAL_DEX_PREOPT ifneq ($(dexpreopt_boot_jar_module),) # boot jar Loading Loading
core/Makefile +39 −26 Original line number Diff line number Diff line Loading @@ -679,10 +679,11 @@ $(kernel_notice_file): \ # before the rules that use that variable to build the image. ALL_DEFAULT_INSTALLED_MODULES += $(TARGET_OUT_ETC)/security/otacerts.zip $(TARGET_OUT_ETC)/security/otacerts.zip: KEY_CERT_PAIR := $(DEFAULT_KEY_CERT_PAIR) $(TARGET_OUT_ETC)/security/otacerts.zip: $(addsuffix .x509.pem,$(DEFAULT_KEY_CERT_PAIR)) $(TARGET_OUT_ETC)/security/otacerts.zip: $(addsuffix .x509.pem,$(DEFAULT_KEY_CERT_PAIR)) | $(ZIPTIME) $(hide) rm -f $@ $(hide) mkdir -p $(dir $@) $(hide) zip -qj $@ $< $(hide) zip -qjX $@ $< $(remove-timestamps-from-package) .PHONY: otacerts otacerts: $(TARGET_OUT_ETC)/security/otacerts.zip Loading Loading @@ -940,9 +941,10 @@ $(INSTALLED_RECOVERYIMAGE_TARGET): $(MKBOOTFS) $(MKBOOTIMG) $(MINIGZIP) \ $(call build-recoveryimage-target, $@) ifneq ($(BOARD_USES_FULL_RECOVERY_IMAGE),true) $(RECOVERY_RESOURCE_ZIP): $(INSTALLED_RECOVERYIMAGE_TARGET) $(RECOVERY_RESOURCE_ZIP): $(INSTALLED_RECOVERYIMAGE_TARGET) | $(ZIPTIME) $(hide) mkdir -p $(dir $@) $(hide) find $(TARGET_RECOVERY_ROOT_OUT)/res -type f | sort | zip -0qrj $@ -@ $(hide) find $(TARGET_RECOVERY_ROOT_OUT)/res -type f | sort | zip -0qrjX $@ -@ $(remove-timestamps-from-package) endif .PHONY: recoveryimage-nodeps Loading Loading @@ -1130,23 +1132,24 @@ stnod: systemtarball-nodeps ## Files under out dir will be rejected to prevent possible conflicts with other rules. PDK_PLATFORM_ZIP_PRODUCT_BINARIES := $(filter-out $(OUT_DIR)/%,$(PDK_PLATFORM_ZIP_PRODUCT_BINARIES)) INSTALLED_PLATFORM_ZIP := $(PRODUCT_OUT)/platform.zip $(INSTALLED_PLATFORM_ZIP) : $(INTERNAL_SYSTEMIMAGE_FILES) $(INSTALLED_PLATFORM_ZIP) : $(INTERNAL_SYSTEMIMAGE_FILES) | $(ZIPTIME) $(call pretty,"Platform zip package: $(INSTALLED_PLATFORM_ZIP)") $(hide) rm -f $@ $(hide) cd $(dir $@) && zip -qry $(notdir $@) \ $(hide) cd $(dir $@) && zip -qryX $(notdir $@) \ $(TARGET_COPY_OUT_SYSTEM) \ $(patsubst $(PRODUCT_OUT)/%, %, $(TARGET_OUT_NOTICE_FILES)) \ $(addprefix symbols/,$(PDK_SYMBOL_FILES_LIST)) ifdef BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE $(hide) cd $(dir $@) && zip -qry $(notdir $@) \ $(hide) cd $(dir $@) && zip -qryX $(notdir $@) \ $(TARGET_COPY_OUT_VENDOR) endif ifneq ($(PDK_PLATFORM_JAVA_ZIP_CONTENTS),) $(hide) cd $(OUT_DIR) && zip -qry $(patsubst $(OUT_DIR)/%,%,$@) $(PDK_PLATFORM_JAVA_ZIP_CONTENTS) $(hide) cd $(OUT_DIR) && zip -qryX $(patsubst $(OUT_DIR)/%,%,$@) $(PDK_PLATFORM_JAVA_ZIP_CONTENTS) endif ifneq ($(PDK_PLATFORM_ZIP_PRODUCT_BINARIES),) $(hide) zip -qry $@ $(PDK_PLATFORM_ZIP_PRODUCT_BINARIES) $(hide) zip -qryX $@ $(PDK_PLATFORM_ZIP_PRODUCT_BINARIES) endif $(remove-timestamps-from-package) .PHONY: platform platform: $(INSTALLED_PLATFORM_ZIP) Loading Loading @@ -1405,7 +1408,7 @@ otatools: $(OTATOOLS) BUILT_OTATOOLS_PACKAGE := $(PRODUCT_OUT)/otatools.zip $(BUILT_OTATOOLS_PACKAGE): zip_root := $(call intermediates-dir-for,PACKAGING,otatools)/otatools $(BUILT_OTATOOLS_PACKAGE): $(OTATOOLS) | $(ACP) $(BUILT_OTATOOLS_PACKAGE): $(OTATOOLS) | $(ACP) $(ZIPTIME) @echo "Package OTA tools: $@" $(hide) rm -rf $@ $(zip_root) $(hide) mkdir -p $(dir $@) $(zip_root)/bin $(zip_root)/framework $(zip_root)/releasetools $(zip_root)/system/extras/verity Loading @@ -1414,9 +1417,10 @@ $(BUILT_OTATOOLS_PACKAGE): $(OTATOOLS) | $(ACP) $(hide) $(ACP) -p system/extras/verity/build_verity_metadata.py $(zip_root)/system/extras/verity/ $(hide) $(ACP) -r -d -p build/tools/releasetools/* $(zip_root)/releasetools $(hide) rm -rf $@ $(zip_root)/releasetools/*.pyc $(hide) (cd $(zip_root) && zip -qry $(abspath $@) *) $(hide) zip -qry $(abspath $@) build/target/product/security/ $(hide) find device vendor -name \*.pk8 -o -name \*.x509.pem -o -name oem.prop | xargs zip -qry $(abspath $@)>/dev/null || true $(hide) (cd $(zip_root) && zip -qryX $(abspath $@) *) $(hide) zip -qryX $(abspath $@) build/target/product/security/ $(hide) find device vendor -name \*.pk8 -o -name \*.x509.pem -o -name oem.prop | xargs zip -qryX $(abspath $@)>/dev/null || true $(remove-timestamps-from-package) .PHONY: otatools-package otatools-package: $(BUILT_OTATOOLS_PACKAGE) Loading Loading @@ -1493,7 +1497,7 @@ $(BUILT_TARGET_FILES_PACKAGE): \ $(SELINUX_FC) \ $(APKCERTS_FILE) \ $(HOST_OUT_EXECUTABLES)/fs_config \ | $(ACP) | $(ACP) $(ZIPTIME) @echo "Package target files: $@" $(hide) rm -rf $@ $(zip_root) $(hide) mkdir -p $(dir $@) $(zip_root) Loading Loading @@ -1638,7 +1642,7 @@ ifeq ($(BREAKPAD_GENERATE_SYMBOLS),true) $(hide) $(ACP) -r $(TARGET_OUT_BREAKPAD) $(zip_root)/BREAKPAD endif @# Zip everything up, preserving symlinks $(hide) (cd $(zip_root) && zip -qry ../$(notdir $@) .) $(hide) (cd $(zip_root) && zip -qryX ../$(notdir $@) .) @# Run fs_config on all the system, vendor, boot ramdisk, @# and recovery ramdisk files in the zip, and save the output $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="SYSTEM/" } /^SYSTEM\// {print "system/" $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config -C -D $(TARGET_OUT) -S $(SELINUX_FC) > $(zip_root)/META/filesystem_config.txt Loading @@ -1651,9 +1655,10 @@ endif ifneq ($(INSTALLED_RECOVERYIMAGE_TARGET),) $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="RECOVERY/RAMDISK/" } /^RECOVERY\/RAMDISK\// {print $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config -C -D $(TARGET_OUT) -S $(SELINUX_FC) > $(zip_root)/META/recovery_filesystem_config.txt endif $(hide) (cd $(zip_root) && zip -q ../$(notdir $@) META/*filesystem_config.txt) $(hide) (cd $(zip_root) && zip -qX ../$(notdir $@) META/*filesystem_config.txt) $(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$$PATH MKBOOTIMG=$(MKBOOTIMG) \ ./build/tools/releasetools/add_img_to_target_files -v -p $(HOST_OUT) $@ $(remove-timestamps-from-package) .PHONY: target-files-package target-files-package: $(BUILT_TARGET_FILES_PACKAGE) Loading Loading @@ -1727,11 +1732,12 @@ SYMBOLS_ZIP := $(PRODUCT_OUT)/$(name).zip ifndef TARGET_BUILD_APPS $(SYMBOLS_ZIP): $(INSTALLED_SYSTEMIMAGE) $(INSTALLED_BOOTIMAGE_TARGET) endif $(SYMBOLS_ZIP): $(SYMBOLS_ZIP): | $(ZIPTIME) @echo "Package symbols: $@" $(hide) rm -rf $@ $(hide) mkdir -p $(dir $@) $(TARGET_OUT_UNSTRIPPED) $(hide) zip -qr $@ $(TARGET_OUT_UNSTRIPPED) $(hide) zip -qrX $@ $(TARGET_OUT_UNSTRIPPED) $(remove-timestamps-from-package) # ----------------------------------------------------------------- # A zip of the Android Apps. Not keeping full path so that we don't Loading @@ -1744,7 +1750,7 @@ endif name := $(name)-apps-$(FILE_NAME_TAG) APPS_ZIP := $(PRODUCT_OUT)/$(name).zip $(APPS_ZIP): $(INSTALLED_SYSTEMIMAGE) $(APPS_ZIP): $(INSTALLED_SYSTEMIMAGE) | $(ZIPTIME) @echo "Package apps: $@" $(hide) rm -rf $@ $(hide) mkdir -p $(dir $@) Loading @@ -1753,8 +1759,9 @@ $(APPS_ZIP): $(INSTALLED_SYSTEMIMAGE) echo "No apps to zip up. Generating empty apps archive." ; \ a=$$(mktemp /tmp/XXXXXXX) && touch $$a && zip $@ $$a && zip -d $@ $$a; \ else \ zip -qj $@ $$apps_to_zip; \ zip -qjX $@ $$apps_to_zip; \ fi $(remove-timestamps-from-package) #------------------------------------------------------------------ # A zip of emma code coverage meta files. Generated for fully emma Loading @@ -1763,10 +1770,12 @@ $(APPS_ZIP): $(INSTALLED_SYSTEMIMAGE) ifeq (true,$(EMMA_INSTRUMENT)) EMMA_META_ZIP := $(PRODUCT_OUT)/emma_meta.zip # the dependency will be set up later in build/core/main.mk. $(EMMA_META_ZIP): | $(ZIPTIME) $(EMMA_META_ZIP) : @echo "Collecting Emma coverage meta files." $(hide) find $(TARGET_COMMON_OUT_ROOT) $(HOST_COMMON_OUT_ROOT) -name "coverage.em" | \ zip -@ -q $@ zip -@ -qX $@ $(remove-timestamps-from-package) endif # EMMA_INSTRUMENT=true Loading @@ -1777,18 +1786,20 @@ endif # EMMA_INSTRUMENT=true ifdef TARGET_BUILD_APPS PROGUARD_DICT_ZIP := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-proguard-dict-$(FILE_NAME_TAG).zip # the dependency will be set up later in build/core/main.mk. $(PROGUARD_DICT_ZIP): | $(ZIPTIME) $(PROGUARD_DICT_ZIP) : @echo "Packaging Proguard obfuscation dictionary files." $(hide) dict_files=`find $(TARGET_OUT_COMMON_INTERMEDIATES)/APPS -name proguard_dictionary`; \ if [ -n "$$dict_files" ]; then \ unobfuscated_jars=$${dict_files//proguard_dictionary/classes.jar}; \ zip -q $@ $$dict_files $$unobfuscated_jars; \ zip -qX $@ $$dict_files $$unobfuscated_jars; \ else \ touch $(dir $@)/zipdummy; \ (cd $(dir $@) && zip -q $(notdir $@) zipdummy); \ zip -qd $@ zipdummy; \ rm $(dir $@)/zipdummy; \ fi $(remove-timestamps-from-package) endif # TARGET_BUILD_APPS Loading @@ -1811,9 +1822,10 @@ name := $(TARGET_PRODUCT)-emulator-$(FILE_NAME_TAG) INTERNAL_EMULATOR_PACKAGE_TARGET := $(PRODUCT_OUT)/$(name).zip $(INTERNAL_EMULATOR_PACKAGE_TARGET): $(INTERNAL_EMULATOR_PACKAGE_FILES) $(INTERNAL_EMULATOR_PACKAGE_TARGET): $(INTERNAL_EMULATOR_PACKAGE_FILES) | $(ZIPTIME) @echo "Package: $@" $(hide) zip -qj $@ $(INTERNAL_EMULATOR_PACKAGE_FILES) $(hide) zip -qjX $@ $(INTERNAL_EMULATOR_PACKAGE_FILES) $(remove-timestamps-from-package) endif # ----------------------------------------------------------------- Loading Loading @@ -1913,7 +1925,7 @@ $(INTERNAL_SDK_TARGET): PRIVATE_INPUT_FILES := $(sdk_atree_files) # #SDK_GNU_ERROR := true $(INTERNAL_SDK_TARGET): $(deps) $(INTERNAL_SDK_TARGET): $(deps) | $(ZIPTIME) @echo "Package SDK: $@" $(hide) rm -rf $(PRIVATE_DIR) $@ $(hide) for f in $(target_gnu_MODULES); do \ Loading Loading @@ -1948,8 +1960,9 @@ $(INTERNAL_SDK_TARGET): $(deps) HOST_OUT_EXECUTABLES=$(HOST_OUT_EXECUTABLES) HOST_OS=$(HOST_OS) \ development/build/tools/sdk_clean.sh $(PRIVATE_DIR) && \ chmod -R ug+rwX $(PRIVATE_DIR) && \ cd $(dir $@) && zip -rq $(notdir $@) $(PRIVATE_NAME) \ cd $(dir $@) && zip -rqX $(notdir $@) $(PRIVATE_NAME) \ ) || ( rm -rf $(PRIVATE_DIR) $@ && exit 44 ) $(remove-timestamps-from-package) # Is a Windows SDK requested? If so, we need some definitions from here Loading
core/config.mk +1 −0 Original line number Diff line number Diff line Loading @@ -524,6 +524,7 @@ ACP := $(BUILD_OUT_EXECUTABLES)/acp$(BUILD_EXECUTABLE_SUFFIX) # dx is java behind a shell script; no .exe necessary. DX := $(HOST_OUT_EXECUTABLES)/dx ZIPALIGN := $(HOST_OUT_EXECUTABLES)/zipalign$(HOST_EXECUTABLE_SUFFIX) ZIPTIME := $(HOST_OUT_EXECUTABLES)/ziptime$(HOST_EXECUTABLE_SUFFIX) # relocation packer RELOCATION_PACKER := prebuilts/misc/$(BUILD_OS)-$(HOST_PREBUILT_ARCH)/relocation_packer/relocation_packer Loading
core/definitions.mk +9 −3 Original line number Diff line number Diff line Loading @@ -2094,13 +2094,13 @@ $(hide) mkdir -p $(addprefix $(dir $@)lib/,$(PRIVATE_JNI_SHARED_LIBRARIES_ABI)) $(foreach abi,$(PRIVATE_JNI_SHARED_LIBRARIES_ABI),\ $(call _add-jni-shared-libs-to-package-per-abi,$(abi),\ $(patsubst $(abi):%,%,$(filter $(abi):%,$(PRIVATE_JNI_SHARED_LIBRARIES))))) $(hide) (cd $(dir $@) && zip -qr $(JNI_COMPRESS_FLAGS) $(notdir $@) lib) $(hide) (cd $(dir $@) && zip -qrX $(JNI_COMPRESS_FLAGS) $(notdir $@) lib) $(hide) rm -rf $(dir $@)lib endef #TODO: update the manifest to point to the dex file define add-dex-to-package $(hide) zip -qj $@ $(dir $(PRIVATE_DEX_FILE))classes*.dex $(hide) zip -qjX $@ $(dir $(PRIVATE_DEX_FILE))classes*.dex endef # Add java resources added by the current module. Loading Loading @@ -2147,6 +2147,12 @@ $(hide) $(ZIPALIGN) \ $(hide) mv $@.aligned $@ endef # Remove dynamic timestamps from packages # define remove-timestamps-from-package $(hide) $(ZIPTIME) $@ endef # Uncompress shared libraries embedded in an apk. # define uncompress-shared-libs Loading @@ -2154,7 +2160,7 @@ $(hide) if unzip -l $@ $(PRIVATE_EMBEDDED_JNI_LIBS) >/dev/null ; then \ rm -rf $(dir $@)uncompressedlibs && mkdir $(dir $@)uncompressedlibs; \ unzip $@ $(PRIVATE_EMBEDDED_JNI_LIBS) -d $(dir $@)uncompressedlibs && \ zip -d $@ 'lib/*.so' && \ ( cd $(dir $@)uncompressedlibs && zip -D -r -0 ../$(notdir $@) lib ) && \ ( cd $(dir $@)uncompressedlibs && zip -D -r -X -0 ../$(notdir $@) lib ) && \ rm -rf $(dir $@)uncompressedlibs; \ fi endef Loading
core/droiddoc.mk +3 −2 Original line number Diff line number Diff line Loading @@ -237,11 +237,12 @@ ifeq ($(strip $(LOCAL_UNINSTALLABLE_MODULE)),) # Define a rule to create a zip of these docs. out_zip := $(OUT_DOCS)/$(LOCAL_MODULE)-docs.zip $(out_zip): PRIVATE_DOCS_DIR := $(out_dir) $(out_zip): $(full_target) $(out_zip): $(full_target) | $(ZIPTIME) @echo Package docs: $@ @rm -f $@ @mkdir -p $(dir $@) $(hide) ( F=$$(pwd)/$@ ; cd $(PRIVATE_DOCS_DIR) && zip -rq $$F * ) $(hide) ( F=$$(pwd)/$@ ; cd $(PRIVATE_DOCS_DIR) && zip -rqX $$F * ) $(remove-timestamps-from-package) $(LOCAL_MODULE)-docs.zip : $(out_zip) Loading
core/java_library.mk +2 −1 Original line number Diff line number Diff line Loading @@ -81,7 +81,7 @@ else # !LOCAL_IS_STATIC_JAVA_LIBRARY $(common_javalib.jar): PRIVATE_DEX_FILE := $(built_dex) $(common_javalib.jar): PRIVATE_SOURCE_ARCHIVE := $(full_classes_jarjar_jar) $(common_javalib.jar): PRIVATE_DONT_DELETE_JAR_DIRS := $(LOCAL_DONT_DELETE_JAR_DIRS) $(common_javalib.jar) : $(built_dex) $(java_resource_sources) $(common_javalib.jar) : $(built_dex) $(java_resource_sources) | $(ZIPTIME) @echo "target Jar: $(PRIVATE_MODULE) ($@)" ifdef LOCAL_JACK_ENABLED $(create-empty-package) Loading @@ -92,6 +92,7 @@ endif ifdef LOCAL_JACK_ENABLED $(add-carried-jack-resources) endif $(remove-timestamps-from-package) ifdef LOCAL_DEX_PREOPT ifneq ($(dexpreopt_boot_jar_module),) # boot jar Loading