Loading core/android_manifest.mk +0 −6 Original line number Diff line number Diff line Loading @@ -23,12 +23,6 @@ ifndef LOCAL_DONT_MERGE_MANIFESTS $(call intermediates-dir-for,JAVA_LIBRARIES,$(lib),,COMMON)/manifest/AndroidManifest.xml) endif # With aapt2, we'll link in the built resource from the AAR. ifneq ($(LOCAL_USE_AAPT2),true) LOCAL_RESOURCE_DIR += $(foreach lib, $(LOCAL_STATIC_JAVA_AAR_LIBRARIES),\ $(call intermediates-dir-for,JAVA_LIBRARIES,$(lib),,COMMON)/aar/res) endif full_android_manifest := $(intermediates.COMMON)/manifest/AndroidManifest.xml ifneq (,$(strip $(my_full_libs_manifest_files))) Loading core/clear_vars.mk +1 −1 Original line number Diff line number Diff line Loading @@ -291,7 +291,7 @@ LOCAL_TIDY_FLAGS:= LOCAL_UNCOMPRESS_DEX:= LOCAL_UNINSTALLABLE_MODULE:= LOCAL_UNSTRIPPED_PATH:= LOCAL_USE_AAPT2:=$(USE_AAPT2) LOCAL_USE_AAPT2:= LOCAL_USE_CLANG_LLD:= LOCAL_USE_VNDK:= LOCAL_USES_LIBRARIES:= Loading core/definitions.mk +2 −71 Original line number Diff line number Diff line Loading @@ -1846,42 +1846,6 @@ endef # b/37750224 AAPT_ASAN_OPTIONS := ASAN_OPTIONS=detect_leaks=0 # TODO: Right now we generate the asset resources twice, first as part # of generating the Java classes, then at the end when packaging the final # assets. This should be changed to do one of two things: (1) Don't generate # any resource files the first time, only create classes during that stage; # or (2) Don't use the -c flag with the second stage, instead taking the # resource files from the first stage as additional input. My original intent # was to use approach (2), but this requires a little more work in the tool. # Maybe we should just use approach (1). # This rule creates the R.java and Manifest.java files, both of which # are PRODUCT-neutral. Don't pass PRIVATE_PRODUCT_AAPT_CONFIG to this invocation. define create-resource-java-files @mkdir -p $(dir $(PRIVATE_RESOURCE_PUBLICS_OUTPUT)) rm -rf $(PRIVATE_JAVA_GEN_DIR) mkdir -p $(PRIVATE_JAVA_GEN_DIR) $(hide) $(AAPT_ASAN_OPTIONS) $(AAPT) package $(PRIVATE_AAPT_FLAGS) -m \ $(eval # PRIVATE_PRODUCT_AAPT_CONFIG is intentionally missing-- see comment.) \ $(addprefix -J , $(PRIVATE_JAVA_GEN_DIR)) \ $(addprefix -M , $(PRIVATE_ANDROID_MANIFEST)) \ $(addprefix -P , $(PRIVATE_RESOURCE_PUBLICS_OUTPUT)) \ $(addprefix -S , $(PRIVATE_RESOURCE_DIR)) \ $(addprefix -A , $(PRIVATE_ASSET_DIR)) \ $(addprefix -I , $(PRIVATE_AAPT_INCLUDES)) \ $(addprefix -G , $(PRIVATE_PROGUARD_OPTIONS_FILE)) \ $(addprefix --min-sdk-version , $(PRIVATE_DEFAULT_APP_TARGET_SDK)) \ $(addprefix --target-sdk-version , $(PRIVATE_DEFAULT_APP_TARGET_SDK)) \ $(if $(filter --version-code,$(PRIVATE_AAPT_FLAGS)),,--version-code $(PLATFORM_SDK_VERSION)) \ $(if $(filter --version-name,$(PRIVATE_AAPT_FLAGS)),,--version-name $(APPS_DEFAULT_VERSION_NAME)) \ $(addprefix --rename-manifest-package , $(PRIVATE_MANIFEST_PACKAGE_NAME)) \ $(addprefix --rename-instrumentation-target-package , $(PRIVATE_MANIFEST_INSTRUMENTATION_FOR)) \ --skip-symbols-without-default-localization $(SOONG_ZIP) -o $(PRIVATE_SRCJAR) -C $(PRIVATE_JAVA_GEN_DIR) -D $(PRIVATE_JAVA_GEN_DIR) # So that we re-run aapt when the list of input files change $(hide) echo $(PRIVATE_RESOURCE_LIST) >/dev/null endef # Search for generated R.java/Manifest.java in $1, copy the found R.java as $2. # Also copy them to a central 'R' directory to make it easier to add the files to an IDE. define find-generated-R.java Loading Loading @@ -2246,37 +2210,6 @@ $(hide) $(DX_COMMAND) $(DEX_FLAGS) \ $(hide) rm -f $(dir $@)d8_input.jar endef #TODO: we kinda want to build different asset packages for # different configurations, then combine them later (or something). # Per-locale, etc. # A list of dynamic and static parameters; build layers for # dynamic params that lay over the static ones. #TODO: update the manifest to point to the package file #Note that the version numbers are given to aapt as simple default #values; applications can override these by explicitly stating #them in their manifest. # $(1) the package file define create-assets-package $(hide) $(AAPT_ASAN_OPTIONS) $(AAPT) package $(PRIVATE_AAPT_FLAGS) \ $(addprefix -c , $(PRIVATE_PRODUCT_AAPT_CONFIG)) \ $(addprefix --preferred-density , $(PRIVATE_PRODUCT_AAPT_PREF_CONFIG)) \ $(addprefix -M , $(PRIVATE_ANDROID_MANIFEST)) \ $(addprefix -S , $(PRIVATE_RESOURCE_DIR)) \ $(addprefix -A , $(PRIVATE_ASSET_DIR)) \ $(addprefix -I , $(PRIVATE_AAPT_INCLUDES)) \ $(addprefix --min-sdk-version , $(PRIVATE_DEFAULT_APP_TARGET_SDK)) \ $(addprefix --target-sdk-version , $(PRIVATE_DEFAULT_APP_TARGET_SDK)) \ $(if $(filter --product,$(PRIVATE_AAPT_FLAGS)),,$(addprefix --product , $(PRIVATE_TARGET_AAPT_CHARACTERISTICS))) \ $(if $(filter --version-code,$(PRIVATE_AAPT_FLAGS)),,--version-code $(PLATFORM_SDK_VERSION)) \ $(if $(filter --version-name,$(PRIVATE_AAPT_FLAGS)),,--version-name $(APPS_DEFAULT_VERSION_NAME)) \ $(addprefix --rename-manifest-package , $(PRIVATE_MANIFEST_PACKAGE_NAME)) \ $(addprefix --rename-instrumentation-target-package , $(PRIVATE_MANIFEST_INSTRUMENTATION_FOR)) \ --skip-symbols-without-default-localization \ -F $(1) # So that we re-run aapt when the list of input files change $(hide) echo $(PRIVATE_RESOURCE_LIST) >/dev/null endef # We need the extra blank line, so that the command will be on a separate line. # $(1): the package # $(2): the ABI name Loading Loading @@ -2381,16 +2314,14 @@ endef ifeq ($(HOST_OS),linux) # Runs appcompat and store logs in $(PRODUCT_OUT)/appcompat define extract-package $(if $(filter aapt2, $(1)), \ $(AAPT2) dump $@ | awk -F ' |=' '/^Package/{print $$3}' >> $(PRODUCT_OUT)/appcompat/$(PRIVATE_MODULE).log &&, \ $(AAPT) dump badging $@ | awk -F \' '/^package/{print $$2}' >> $(PRODUCT_OUT)/appcompat/$(PRIVATE_MODULE).log &&) $(AAPT2) dump $@ | awk -F ' |=' '/^Package/{print $$3}' >> $(PRODUCT_OUT)/appcompat/$(PRIVATE_MODULE).log && endef define appcompat-header $(hide) \ mkdir -p $(PRODUCT_OUT)/appcompat && \ rm -f $(PRODUCT_OUT)/appcompat/$(PRIVATE_MODULE).log && \ echo -n "Package name: " >> $(PRODUCT_OUT)/appcompat/$(PRIVATE_MODULE).log && \ $(call extract-package, $(1)) \ $(extract-package) \ echo "Module name in Android tree: $(PRIVATE_MODULE)" >> $(PRODUCT_OUT)/appcompat/$(PRIVATE_MODULE).log && \ echo "Local path in Android tree: $(PRIVATE_PATH)" >> $(PRODUCT_OUT)/appcompat/$(PRIVATE_MODULE).log && \ echo "Install path on $(TARGET_PRODUCT)-$(TARGET_BUILD_VARIANT): $(PRIVATE_INSTALLED_MODULE)" >> $(PRODUCT_OUT)/appcompat/$(PRIVATE_MODULE).log && \ Loading core/dpi_specific_apk.mkdeleted 100644 → 0 +0 −77 Original line number Diff line number Diff line # Set up rules to build dpi-specific apk, with whatever else from the base apk. # Input variable: my_dpi, and all other variables set up in package_internal.mk. # dpi_apk_name := $(LOCAL_MODULE)_$(my_dpi) dpi_intermediate := $(call intermediates-dir-for,APPS,$(dpi_apk_name)) built_dpi_apk := $(dpi_intermediate)/package.apk additional_certificates := $(foreach c,$(LOCAL_ADDITIONAL_CERTIFICATES), $(c).x509.pem $(c).pk8) # Set up all the target-specific variables. $(built_dpi_apk): PRIVATE_MODULE := $(dpi_apk_name) $(built_dpi_apk): PRIVATE_AAPT_FLAGS := $(LOCAL_AAPT_FLAGS) --pseudo-localize $($(LOCAL_PACKAGE_NAME)_aapt_flags_$(my_dpi)) # Clear PRIVATE_PRODUCT_AAPT_CONFIG to include everything by default. $(built_dpi_apk): PRIVATE_PRODUCT_AAPT_CONFIG := $(built_dpi_apk): PRIVATE_PRODUCT_AAPT_PREF_CONFIG := $(my_dpi) $(built_dpi_apk): PRIVATE_ANDROID_MANIFEST := $(full_android_manifest) $(built_dpi_apk): PRIVATE_RESOURCE_DIR := $(LOCAL_RESOURCE_DIR) $(built_dpi_apk): PRIVATE_ASSET_DIR := $(LOCAL_ASSET_DIR) $(built_dpi_apk): PRIVATE_AAPT_INCLUDES := $(all_library_res_package_exports) $(built_dpi_apk): PRIVATE_RESOURCE_LIST := $(all_res_assets) $(built_dpi_apk): PRIVATE_DEFAULT_APP_TARGET_SDK := $(call module-target-sdk-version) $(built_dpi_apk): PRIVATE_MANIFEST_PACKAGE_NAME := $(LOCAL_MANIFEST_PACKAGE_NAME) $(built_dpi_apk): PRIVATE_MANIFEST_INSTRUMENTATION_FOR := $(LOCAL_INSTRUMENTATION_FOR) $(built_dpi_apk): PRIVATE_JNI_SHARED_LIBRARIES := $(jni_shared_libraries_with_abis) $(built_dpi_apk): PRIVATE_JNI_SHARED_LIBRARIES_ABI := $(jni_shared_libraries_abis) $(built_dpi_apk): PRIVATE_PRIVATE_KEY := $(private_key) $(built_dpi_apk): PRIVATE_CERTIFICATE := $(certificate) $(built_dpi_apk): $(additional_certificates) $(built_dpi_apk): PRIVATE_ADDITIONAL_CERTIFICATES := $(additional_certificates) $(built_dpi_apk): PRIVATE_SOURCE_ARCHIVE := ifneq ($(full_classes_jar),) $(built_dpi_apk): PRIVATE_DEX_FILE := $(built_dex) # Use the jarjar processed arhive as the initial package file. $(built_dpi_apk): PRIVATE_SOURCE_ARCHIVE := $(full_classes_pre_proguard_jar) $(built_dpi_apk): $(built_dex) else $(built_dpi_apk): PRIVATE_DEX_FILE := endif # full_classes_jar # Set up dependenncies and the build recipe. $(built_dpi_apk) : $(R_file_stamp) $(built_dpi_apk) : $(all_library_res_package_export_deps) $(built_dpi_apk) : $(private_key) $(certificate) $(SIGNAPK_JAR) $(built_dpi_apk) : $(AAPT) $(built_dpi_apk) : $(MERGE_ZIPS) $(SOONG_ZIP) $(ZIP2ZIP) $(built_dpi_apk) : $(all_res_assets) $(jni_shared_libraries) $(full_android_manifest) @echo "target Package: $(PRIVATE_MODULE) ($@)" rm -rf $@.parts mkdir -p $@.parts $(call create-assets-package,$@.parts/apk.zip) ifneq ($(jni_shared_libraries),) $(call create-jni-shared-libs-package,$@.parts/jni.zip) endif ifeq ($(full_classes_jar),) # We don't build jar, need to add the Java resources here. $(if $(PRIVATE_EXTRA_JAR_ARGS),$(call create-java-resources-jar,$@.parts/res.zip)) else $(call create-dex-jar,$@.parts/dex.zip,$(PRIVATE_DEX_FILE)) $(call extract-resources-jar,$@.parts/res.zip,$(PRIVATE_SOURCE_ARCHIVE)) endif $(MERGE_ZIPS) $@ $@.parts/*.zip rm -rf $@.parts $(sign-package) # Set up global variables to register this apk to the higher-level dependency graph. ALL_MODULES += $(dpi_apk_name) ALL_MODULES.$(dpi_apk_name).CLASS := APPS ALL_MODULES.$(dpi_apk_name).BUILT := $(built_dpi_apk) ALL_MODULES.$(dpi_apk_name).TARGET_BUILT := $(built_dpi_apk) PACKAGES := $(PACKAGES) $(dpi_apk_name) PACKAGES.$(dpi_apk_name).PRIVATE_KEY := $(private_key) PACKAGES.$(dpi_apk_name).CERTIFICATE := $(certificate) # Phony targets used by "apps_only". .PHONY: $(dpi_apk_name) $(dpi_apk_name) : $(built_dpi_apk) core/force_aapt2.mk +28 −38 Original line number Diff line number Diff line Loading @@ -14,13 +14,13 @@ # limitations under the License. # # Including this makefile will force AAPT2 on if FORCE_AAPT2==true, # Including this makefile will force AAPT2 on, # rewriting some properties to convert standard AAPT usage to AAPT2. ifneq ($(FORCE_AAPT2),false) ifeq ($(LOCAL_USE_AAPT2),) # Force AAPT2 on LOCAL_USE_AAPT2 := true ifeq ($(LOCAL_USE_AAPT2),false) $(call pretty-error, LOCAL_USE_AAPT2 := false is no longer supported) endif # Filter out support library resources LOCAL_RESOURCE_DIR := $(filter-out \ prebuilts/sdk/current/% \ Loading Loading @@ -51,13 +51,3 @@ ifneq ($(FORCE_AAPT2),false) $(call create-default-manifest-file,$(LOCAL_FULL_MANIFEST_FILE),$(call module-min-sdk-version)) endif endif endif endif ifneq ($(LOCAL_USE_AAPT2),true) ifneq ($(LOCAL_USE_AAPT2),false) ifneq ($(LOCAL_USE_AAPT2),) $(call pretty-error,Invalid value for LOCAL_USE_AAPT2: "$(LOCAL_USE_AAPT2)") endif endif endif Loading
core/android_manifest.mk +0 −6 Original line number Diff line number Diff line Loading @@ -23,12 +23,6 @@ ifndef LOCAL_DONT_MERGE_MANIFESTS $(call intermediates-dir-for,JAVA_LIBRARIES,$(lib),,COMMON)/manifest/AndroidManifest.xml) endif # With aapt2, we'll link in the built resource from the AAR. ifneq ($(LOCAL_USE_AAPT2),true) LOCAL_RESOURCE_DIR += $(foreach lib, $(LOCAL_STATIC_JAVA_AAR_LIBRARIES),\ $(call intermediates-dir-for,JAVA_LIBRARIES,$(lib),,COMMON)/aar/res) endif full_android_manifest := $(intermediates.COMMON)/manifest/AndroidManifest.xml ifneq (,$(strip $(my_full_libs_manifest_files))) Loading
core/clear_vars.mk +1 −1 Original line number Diff line number Diff line Loading @@ -291,7 +291,7 @@ LOCAL_TIDY_FLAGS:= LOCAL_UNCOMPRESS_DEX:= LOCAL_UNINSTALLABLE_MODULE:= LOCAL_UNSTRIPPED_PATH:= LOCAL_USE_AAPT2:=$(USE_AAPT2) LOCAL_USE_AAPT2:= LOCAL_USE_CLANG_LLD:= LOCAL_USE_VNDK:= LOCAL_USES_LIBRARIES:= Loading
core/definitions.mk +2 −71 Original line number Diff line number Diff line Loading @@ -1846,42 +1846,6 @@ endef # b/37750224 AAPT_ASAN_OPTIONS := ASAN_OPTIONS=detect_leaks=0 # TODO: Right now we generate the asset resources twice, first as part # of generating the Java classes, then at the end when packaging the final # assets. This should be changed to do one of two things: (1) Don't generate # any resource files the first time, only create classes during that stage; # or (2) Don't use the -c flag with the second stage, instead taking the # resource files from the first stage as additional input. My original intent # was to use approach (2), but this requires a little more work in the tool. # Maybe we should just use approach (1). # This rule creates the R.java and Manifest.java files, both of which # are PRODUCT-neutral. Don't pass PRIVATE_PRODUCT_AAPT_CONFIG to this invocation. define create-resource-java-files @mkdir -p $(dir $(PRIVATE_RESOURCE_PUBLICS_OUTPUT)) rm -rf $(PRIVATE_JAVA_GEN_DIR) mkdir -p $(PRIVATE_JAVA_GEN_DIR) $(hide) $(AAPT_ASAN_OPTIONS) $(AAPT) package $(PRIVATE_AAPT_FLAGS) -m \ $(eval # PRIVATE_PRODUCT_AAPT_CONFIG is intentionally missing-- see comment.) \ $(addprefix -J , $(PRIVATE_JAVA_GEN_DIR)) \ $(addprefix -M , $(PRIVATE_ANDROID_MANIFEST)) \ $(addprefix -P , $(PRIVATE_RESOURCE_PUBLICS_OUTPUT)) \ $(addprefix -S , $(PRIVATE_RESOURCE_DIR)) \ $(addprefix -A , $(PRIVATE_ASSET_DIR)) \ $(addprefix -I , $(PRIVATE_AAPT_INCLUDES)) \ $(addprefix -G , $(PRIVATE_PROGUARD_OPTIONS_FILE)) \ $(addprefix --min-sdk-version , $(PRIVATE_DEFAULT_APP_TARGET_SDK)) \ $(addprefix --target-sdk-version , $(PRIVATE_DEFAULT_APP_TARGET_SDK)) \ $(if $(filter --version-code,$(PRIVATE_AAPT_FLAGS)),,--version-code $(PLATFORM_SDK_VERSION)) \ $(if $(filter --version-name,$(PRIVATE_AAPT_FLAGS)),,--version-name $(APPS_DEFAULT_VERSION_NAME)) \ $(addprefix --rename-manifest-package , $(PRIVATE_MANIFEST_PACKAGE_NAME)) \ $(addprefix --rename-instrumentation-target-package , $(PRIVATE_MANIFEST_INSTRUMENTATION_FOR)) \ --skip-symbols-without-default-localization $(SOONG_ZIP) -o $(PRIVATE_SRCJAR) -C $(PRIVATE_JAVA_GEN_DIR) -D $(PRIVATE_JAVA_GEN_DIR) # So that we re-run aapt when the list of input files change $(hide) echo $(PRIVATE_RESOURCE_LIST) >/dev/null endef # Search for generated R.java/Manifest.java in $1, copy the found R.java as $2. # Also copy them to a central 'R' directory to make it easier to add the files to an IDE. define find-generated-R.java Loading Loading @@ -2246,37 +2210,6 @@ $(hide) $(DX_COMMAND) $(DEX_FLAGS) \ $(hide) rm -f $(dir $@)d8_input.jar endef #TODO: we kinda want to build different asset packages for # different configurations, then combine them later (or something). # Per-locale, etc. # A list of dynamic and static parameters; build layers for # dynamic params that lay over the static ones. #TODO: update the manifest to point to the package file #Note that the version numbers are given to aapt as simple default #values; applications can override these by explicitly stating #them in their manifest. # $(1) the package file define create-assets-package $(hide) $(AAPT_ASAN_OPTIONS) $(AAPT) package $(PRIVATE_AAPT_FLAGS) \ $(addprefix -c , $(PRIVATE_PRODUCT_AAPT_CONFIG)) \ $(addprefix --preferred-density , $(PRIVATE_PRODUCT_AAPT_PREF_CONFIG)) \ $(addprefix -M , $(PRIVATE_ANDROID_MANIFEST)) \ $(addprefix -S , $(PRIVATE_RESOURCE_DIR)) \ $(addprefix -A , $(PRIVATE_ASSET_DIR)) \ $(addprefix -I , $(PRIVATE_AAPT_INCLUDES)) \ $(addprefix --min-sdk-version , $(PRIVATE_DEFAULT_APP_TARGET_SDK)) \ $(addprefix --target-sdk-version , $(PRIVATE_DEFAULT_APP_TARGET_SDK)) \ $(if $(filter --product,$(PRIVATE_AAPT_FLAGS)),,$(addprefix --product , $(PRIVATE_TARGET_AAPT_CHARACTERISTICS))) \ $(if $(filter --version-code,$(PRIVATE_AAPT_FLAGS)),,--version-code $(PLATFORM_SDK_VERSION)) \ $(if $(filter --version-name,$(PRIVATE_AAPT_FLAGS)),,--version-name $(APPS_DEFAULT_VERSION_NAME)) \ $(addprefix --rename-manifest-package , $(PRIVATE_MANIFEST_PACKAGE_NAME)) \ $(addprefix --rename-instrumentation-target-package , $(PRIVATE_MANIFEST_INSTRUMENTATION_FOR)) \ --skip-symbols-without-default-localization \ -F $(1) # So that we re-run aapt when the list of input files change $(hide) echo $(PRIVATE_RESOURCE_LIST) >/dev/null endef # We need the extra blank line, so that the command will be on a separate line. # $(1): the package # $(2): the ABI name Loading Loading @@ -2381,16 +2314,14 @@ endef ifeq ($(HOST_OS),linux) # Runs appcompat and store logs in $(PRODUCT_OUT)/appcompat define extract-package $(if $(filter aapt2, $(1)), \ $(AAPT2) dump $@ | awk -F ' |=' '/^Package/{print $$3}' >> $(PRODUCT_OUT)/appcompat/$(PRIVATE_MODULE).log &&, \ $(AAPT) dump badging $@ | awk -F \' '/^package/{print $$2}' >> $(PRODUCT_OUT)/appcompat/$(PRIVATE_MODULE).log &&) $(AAPT2) dump $@ | awk -F ' |=' '/^Package/{print $$3}' >> $(PRODUCT_OUT)/appcompat/$(PRIVATE_MODULE).log && endef define appcompat-header $(hide) \ mkdir -p $(PRODUCT_OUT)/appcompat && \ rm -f $(PRODUCT_OUT)/appcompat/$(PRIVATE_MODULE).log && \ echo -n "Package name: " >> $(PRODUCT_OUT)/appcompat/$(PRIVATE_MODULE).log && \ $(call extract-package, $(1)) \ $(extract-package) \ echo "Module name in Android tree: $(PRIVATE_MODULE)" >> $(PRODUCT_OUT)/appcompat/$(PRIVATE_MODULE).log && \ echo "Local path in Android tree: $(PRIVATE_PATH)" >> $(PRODUCT_OUT)/appcompat/$(PRIVATE_MODULE).log && \ echo "Install path on $(TARGET_PRODUCT)-$(TARGET_BUILD_VARIANT): $(PRIVATE_INSTALLED_MODULE)" >> $(PRODUCT_OUT)/appcompat/$(PRIVATE_MODULE).log && \ Loading
core/dpi_specific_apk.mkdeleted 100644 → 0 +0 −77 Original line number Diff line number Diff line # Set up rules to build dpi-specific apk, with whatever else from the base apk. # Input variable: my_dpi, and all other variables set up in package_internal.mk. # dpi_apk_name := $(LOCAL_MODULE)_$(my_dpi) dpi_intermediate := $(call intermediates-dir-for,APPS,$(dpi_apk_name)) built_dpi_apk := $(dpi_intermediate)/package.apk additional_certificates := $(foreach c,$(LOCAL_ADDITIONAL_CERTIFICATES), $(c).x509.pem $(c).pk8) # Set up all the target-specific variables. $(built_dpi_apk): PRIVATE_MODULE := $(dpi_apk_name) $(built_dpi_apk): PRIVATE_AAPT_FLAGS := $(LOCAL_AAPT_FLAGS) --pseudo-localize $($(LOCAL_PACKAGE_NAME)_aapt_flags_$(my_dpi)) # Clear PRIVATE_PRODUCT_AAPT_CONFIG to include everything by default. $(built_dpi_apk): PRIVATE_PRODUCT_AAPT_CONFIG := $(built_dpi_apk): PRIVATE_PRODUCT_AAPT_PREF_CONFIG := $(my_dpi) $(built_dpi_apk): PRIVATE_ANDROID_MANIFEST := $(full_android_manifest) $(built_dpi_apk): PRIVATE_RESOURCE_DIR := $(LOCAL_RESOURCE_DIR) $(built_dpi_apk): PRIVATE_ASSET_DIR := $(LOCAL_ASSET_DIR) $(built_dpi_apk): PRIVATE_AAPT_INCLUDES := $(all_library_res_package_exports) $(built_dpi_apk): PRIVATE_RESOURCE_LIST := $(all_res_assets) $(built_dpi_apk): PRIVATE_DEFAULT_APP_TARGET_SDK := $(call module-target-sdk-version) $(built_dpi_apk): PRIVATE_MANIFEST_PACKAGE_NAME := $(LOCAL_MANIFEST_PACKAGE_NAME) $(built_dpi_apk): PRIVATE_MANIFEST_INSTRUMENTATION_FOR := $(LOCAL_INSTRUMENTATION_FOR) $(built_dpi_apk): PRIVATE_JNI_SHARED_LIBRARIES := $(jni_shared_libraries_with_abis) $(built_dpi_apk): PRIVATE_JNI_SHARED_LIBRARIES_ABI := $(jni_shared_libraries_abis) $(built_dpi_apk): PRIVATE_PRIVATE_KEY := $(private_key) $(built_dpi_apk): PRIVATE_CERTIFICATE := $(certificate) $(built_dpi_apk): $(additional_certificates) $(built_dpi_apk): PRIVATE_ADDITIONAL_CERTIFICATES := $(additional_certificates) $(built_dpi_apk): PRIVATE_SOURCE_ARCHIVE := ifneq ($(full_classes_jar),) $(built_dpi_apk): PRIVATE_DEX_FILE := $(built_dex) # Use the jarjar processed arhive as the initial package file. $(built_dpi_apk): PRIVATE_SOURCE_ARCHIVE := $(full_classes_pre_proguard_jar) $(built_dpi_apk): $(built_dex) else $(built_dpi_apk): PRIVATE_DEX_FILE := endif # full_classes_jar # Set up dependenncies and the build recipe. $(built_dpi_apk) : $(R_file_stamp) $(built_dpi_apk) : $(all_library_res_package_export_deps) $(built_dpi_apk) : $(private_key) $(certificate) $(SIGNAPK_JAR) $(built_dpi_apk) : $(AAPT) $(built_dpi_apk) : $(MERGE_ZIPS) $(SOONG_ZIP) $(ZIP2ZIP) $(built_dpi_apk) : $(all_res_assets) $(jni_shared_libraries) $(full_android_manifest) @echo "target Package: $(PRIVATE_MODULE) ($@)" rm -rf $@.parts mkdir -p $@.parts $(call create-assets-package,$@.parts/apk.zip) ifneq ($(jni_shared_libraries),) $(call create-jni-shared-libs-package,$@.parts/jni.zip) endif ifeq ($(full_classes_jar),) # We don't build jar, need to add the Java resources here. $(if $(PRIVATE_EXTRA_JAR_ARGS),$(call create-java-resources-jar,$@.parts/res.zip)) else $(call create-dex-jar,$@.parts/dex.zip,$(PRIVATE_DEX_FILE)) $(call extract-resources-jar,$@.parts/res.zip,$(PRIVATE_SOURCE_ARCHIVE)) endif $(MERGE_ZIPS) $@ $@.parts/*.zip rm -rf $@.parts $(sign-package) # Set up global variables to register this apk to the higher-level dependency graph. ALL_MODULES += $(dpi_apk_name) ALL_MODULES.$(dpi_apk_name).CLASS := APPS ALL_MODULES.$(dpi_apk_name).BUILT := $(built_dpi_apk) ALL_MODULES.$(dpi_apk_name).TARGET_BUILT := $(built_dpi_apk) PACKAGES := $(PACKAGES) $(dpi_apk_name) PACKAGES.$(dpi_apk_name).PRIVATE_KEY := $(private_key) PACKAGES.$(dpi_apk_name).CERTIFICATE := $(certificate) # Phony targets used by "apps_only". .PHONY: $(dpi_apk_name) $(dpi_apk_name) : $(built_dpi_apk)
core/force_aapt2.mk +28 −38 Original line number Diff line number Diff line Loading @@ -14,13 +14,13 @@ # limitations under the License. # # Including this makefile will force AAPT2 on if FORCE_AAPT2==true, # Including this makefile will force AAPT2 on, # rewriting some properties to convert standard AAPT usage to AAPT2. ifneq ($(FORCE_AAPT2),false) ifeq ($(LOCAL_USE_AAPT2),) # Force AAPT2 on LOCAL_USE_AAPT2 := true ifeq ($(LOCAL_USE_AAPT2),false) $(call pretty-error, LOCAL_USE_AAPT2 := false is no longer supported) endif # Filter out support library resources LOCAL_RESOURCE_DIR := $(filter-out \ prebuilts/sdk/current/% \ Loading Loading @@ -51,13 +51,3 @@ ifneq ($(FORCE_AAPT2),false) $(call create-default-manifest-file,$(LOCAL_FULL_MANIFEST_FILE),$(call module-min-sdk-version)) endif endif endif endif ifneq ($(LOCAL_USE_AAPT2),true) ifneq ($(LOCAL_USE_AAPT2),false) ifneq ($(LOCAL_USE_AAPT2),) $(call pretty-error,Invalid value for LOCAL_USE_AAPT2: "$(LOCAL_USE_AAPT2)") endif endif endif