diff --git a/core/clear_vars.mk b/core/clear_vars.mk index 23f81fbf7..f3929adc2 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -122,6 +122,9 @@ LOCAL_CTS_TEST_PACKAGE:= LOCAL_CTS_TEST_RUNNER:= LOCAL_CLANG:= LOCAL_ADDRESS_SANITIZER:= +# Whether to keep the generated R/Manifest classes when building static Java library +# with Android resource. false(default), or true +LOCAL_KEEP_R_CLASS_IN_STATIC_JAVA_LIBRARY:= # Trim MAKEFILE_LIST so that $(call my-dir) doesn't need to # iterate over thousands of entries every time. diff --git a/core/static_java_library.mk b/core/static_java_library.mk index 0b2f63b10..91650503a 100644 --- a/core/static_java_library.mk +++ b/core/static_java_library.mk @@ -39,9 +39,11 @@ ifneq (,$(all_resources)) # Those files will be excluded from the built jar. # The R/Manifest classes should be re-generated in the app Module instead. # Use '' and $ escape because they will be passed to bash. +ifneq (true,$(LOCAL_KEEP_R_CLASS_IN_STATIC_JAVA_LIBRARY)) LOCAL_JAR_EXCLUDE_FILES := 'R.class' 'R$$*.class' 'Manifest.class' 'Manifest$$*.class' endif endif +endif include $(BUILD_SYSTEM)/java_library.mk