Option to keep the generated R class in static Java libarry

Bug: 6404748
Set LOCAL_KEEP_R_CLASS_IN_STATIC_JAVA_LIBRARY to true to do that.

Change-Id: Ieee3cae431e3b1484ec598312729f2c871db2315
diff --git a/core/clear_vars.mk b/core/clear_vars.mk
index 23f81fb..f3929ad 100644
--- a/core/clear_vars.mk
+++ b/core/clear_vars.mk
@@ -122,6 +122,9 @@
 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 0b2f63b..9165050 100644
--- a/core/static_java_library.mk
+++ b/core/static_java_library.mk
@@ -39,9 +39,11 @@
 # 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