Allow forcing AAPT2 on
Building with FORCE_AAPT2=true will turn on AAPT2 for all modules unless they set LOCAL_USE_AAPT2 := false. The build system will attempt to rewrite common AAPT patterns into AAPT2 patterns, including removing --extra-packages for support library packages, removing LOCAL_RESOURCE_DIR point to support library resources, adding a default empty manifest file if it doesn't exist, and converting LOCAL_STATIC_JAVA_AAR_LIBRARIES to LOCAL_STATIC_ANDROID_LIBRARIES. Bug: 79481102 Test: m checkbuild Change-Id: I8d9d55fe4d5d5c965c64b0407efe74e0afc35c3a
This commit is contained in:
@@ -28,6 +28,8 @@ intermediates.COMMON := $(call local-intermediates-dir,COMMON)
|
||||
|
||||
my_res_package :=
|
||||
|
||||
include $(BUILD_SYSTEM)/force_aapt2.mk
|
||||
|
||||
ifdef LOCAL_AAPT2_ONLY
|
||||
LOCAL_USE_AAPT2 := true
|
||||
endif
|
||||
@@ -44,7 +46,7 @@ ifdef LOCAL_RESOURCE_DIR
|
||||
need_compile_res := true
|
||||
LOCAL_RESOURCE_DIR := $(foreach d,$(LOCAL_RESOURCE_DIR),$(call clean-path,$(d)))
|
||||
endif
|
||||
ifdef LOCAL_USE_AAPT2
|
||||
ifeq ($(LOCAL_USE_AAPT2),true)
|
||||
ifneq ($(LOCAL_STATIC_ANDROID_LIBRARIES),)
|
||||
need_compile_res := true
|
||||
endif
|
||||
@@ -82,7 +84,7 @@ LOCAL_PROGUARD_FLAGS := $(addprefix -include ,$(proguard_options_file)) $(LOCAL_
|
||||
R_file_stamp := $(intermediates.COMMON)/src/R.stamp
|
||||
LOCAL_INTERMEDIATE_TARGETS += $(R_file_stamp)
|
||||
|
||||
ifdef LOCAL_USE_AAPT2
|
||||
ifeq ($(LOCAL_USE_AAPT2),true)
|
||||
# For library we treat all the resource equal with no overlay.
|
||||
my_res_resources := $(all_resources)
|
||||
my_overlay_resources :=
|
||||
@@ -117,7 +119,7 @@ framework_res_package_export := \
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef LOCAL_USE_AAPT2
|
||||
ifeq ($(LOCAL_USE_AAPT2),true)
|
||||
import_proguard_flag_files := $(strip $(foreach l,$(LOCAL_STATIC_ANDROID_LIBRARIES),\
|
||||
$(call intermediates-dir-for,JAVA_LIBRARIES,$(l),,COMMON)/export_proguard_flags))
|
||||
$(intermediates.COMMON)/export_proguard_flags: $(import_proguard_flag_files) $(addprefix $(LOCAL_PATH)/,$(LOCAL_EXPORT_PROGUARD_FLAG_FILES))
|
||||
@@ -140,7 +142,7 @@ $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_MANIFEST_INSTRUMENTATION_FOR := $(LOCAL_M
|
||||
|
||||
# add --non-constant-id to prevent inlining constants.
|
||||
# AAR needs text symbol file R.txt.
|
||||
ifdef LOCAL_USE_AAPT2
|
||||
ifeq ($(LOCAL_USE_AAPT2),true)
|
||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_AAPT_FLAGS := $(LOCAL_AAPT_FLAGS) --static-lib --output-text-symbols $(intermediates.COMMON)/R.txt
|
||||
ifndef LOCAL_AAPT_NAMESPACES
|
||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_AAPT_FLAGS += --no-static-lib-packages
|
||||
@@ -168,7 +170,7 @@ $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_PROGUARD_OPTIONS_FILE := $(proguard_optio
|
||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_MANIFEST_PACKAGE_NAME :=
|
||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_MANIFEST_INSTRUMENTATION_FOR :=
|
||||
|
||||
ifdef LOCAL_USE_AAPT2
|
||||
ifeq ($(LOCAL_USE_AAPT2),true)
|
||||
# One more level with name res so we can zip up the flat resources that can be linked by apps.
|
||||
my_compiled_res_base_dir := $(intermediates.COMMON)/flat-res/res
|
||||
ifneq (,$(renderscript_target_api))
|
||||
|
Reference in New Issue
Block a user