Calls aapt2 when a static Java library has LOCAL_STATIC_ANDROID_LIBRARIES

We expect to build the module's own packare-res.apk from the
LOCAL_STATIC_ANDROID_LIBRARIES in this case.

Bug: 25958912
Change-Id: I4d0294c867f5fb636983d630493a3b188279cae9
diff --git a/core/package_internal.mk b/core/package_internal.mk
index 2ffbcd4..0c105e2 100644
--- a/core/package_internal.mk
+++ b/core/package_internal.mk
@@ -150,7 +150,7 @@
 my_res_package := $(intermediates)/package-res.apk
 LOCAL_INTERMEDIATE_TARGETS += $(my_res_package)
 
-# Always run aapt2
+# Always run aapt2, because we need to at least compile the AndroidManifest.xml.
 need_compile_res := true
 
 else  # LOCAL_USE_AAPT2
diff --git a/core/static_java_library.mk b/core/static_java_library.mk
index 0b521d5..a9b21ae 100644
--- a/core/static_java_library.mk
+++ b/core/static_java_library.mk
@@ -38,7 +38,14 @@
 # A static Java library needs to explicily set LOCAL_RESOURCE_DIR.
 ifdef LOCAL_RESOURCE_DIR
 need_compile_res := true
+endif
+ifdef LOCAL_USE_AAPT2
+ifneq ($(LOCAL_STATIC_ANDROID_LIBRARIES),)
+need_compile_res := true
+endif
+endif
 
+ifeq ($(need_compile_res),true)
 all_resources := $(strip \
     $(foreach dir, $(LOCAL_RESOURCE_DIR), \
       $(addprefix $(dir)/, \