From 1130dc496e7bf0130e9be2a96dce822fd59f105f Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Thu, 27 Apr 2017 22:28:06 -0700 Subject: [PATCH] Use framework resources for prebuilt aars with aapt2 Bug: 33381544 Test: Attempt to build prebuilt aar Change-Id: Ia283252dff6e55dd80c7c01da9b0aa51990b6af4 Merged-In: Ia283252dff6e55dd80c7c01da9b0aa51990b6af4 (cherry picked from commit 470e0e14cd1d96ef4964c66549761e50b75e551e) --- core/prebuilt_internal.mk | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/core/prebuilt_internal.mk b/core/prebuilt_internal.mk index d9ae234c0..e934c2180 100644 --- a/core/prebuilt_internal.mk +++ b/core/prebuilt_internal.mk @@ -518,12 +518,33 @@ $(call define-jar-to-toc-rule, $(common_classes_jar)) ifdef LOCAL_USE_AAPT2 ifneq ($(my_src_aar),) +LOCAL_SDK_RES_VERSION:=$(strip $(LOCAL_SDK_RES_VERSION)) +ifeq ($(LOCAL_SDK_RES_VERSION),) + LOCAL_SDK_RES_VERSION:=$(LOCAL_SDK_VERSION) +endif + +framework_res_package_export := +framework_res_package_export_deps := +# Please refer to package.mk +ifneq ($(LOCAL_NO_STANDARD_LIBRARIES),true) +ifneq ($(filter-out current system_current test_current,$(LOCAL_SDK_RES_VERSION))$(if $(TARGET_BUILD_APPS),$(filter current system_current test_current,$(LOCAL_SDK_RES_VERSION))),) +framework_res_package_export := \ + $(HISTORICAL_SDK_VERSIONS_ROOT)/$(LOCAL_SDK_RES_VERSION)/android.jar +framework_res_package_export_deps := $(framework_res_package_export) +else +framework_res_package_export := \ + $(call intermediates-dir-for,APPS,framework-res,,COMMON)/package-export.apk +framework_res_package_export_deps := \ + $(dir $(framework_res_package_export))src/R.stamp +endif +endif + my_res_package := $(intermediates.COMMON)/package-res.apk # We needed only very few PRIVATE variables and aapt2.mk input variables. Reset the unnecessary ones. $(my_res_package): PRIVATE_AAPT2_CFLAGS := $(my_res_package): PRIVATE_ANDROID_MANIFEST := $(intermediates.COMMON)/aar/AndroidManifest.xml -$(my_res_package): PRIVATE_AAPT_INCLUDES := +$(my_res_package): PRIVATE_AAPT_INCLUDES := $(framework_res_package_export) $(my_res_package): PRIVATE_SOURCE_INTERMEDIATES_DIR := $(my_res_package): PRIVATE_PROGUARD_OPTIONS_FILE := $(my_res_package): PRIVATE_DEFAULT_APP_TARGET_SDK := @@ -531,6 +552,7 @@ $(my_res_package): PRIVATE_DEFAULT_APP_TARGET_SDK := $(my_res_package): PRIVATE_PRODUCT_AAPT_CONFIG := $(my_res_package): PRIVATE_PRODUCT_AAPT_PREF_CONFIG := $(my_res_package): PRIVATE_TARGET_AAPT_CHARACTERISTICS := +$(my_res_package) : $(framework_res_package_export_deps) full_android_manifest := my_res_resources :=