Recompress android.jar before packaging it.
This is to circumvent an issue where Q SDK release causes a problem to
developers who are stuck with an old Gradle version.
Fixes: 127733650
Test: m sdk & inspect android.jar size and contents
Change-Id: I52a211f57afba1b6d656bba2082e806481ef41c2
diff --git a/build/Android.mk b/build/Android.mk
index a86e2b6..1cad1b4 100644
--- a/build/Android.mk
+++ b/build/Android.mk
@@ -68,7 +68,16 @@
android_jar_full_target := $(android_jar_intermediates)/android.jar
android_jar_src_target := $(android_jar_intermediates)/android-stubs-src.jar
-$(android_jar_full_target): $(full_target)
+# unzip and zip android.jar before packaging it. (workaround for b/127733650)
+full_target_repackaged := $(android_jar_intermediates)/repackaged/repackaged.jar
+$(full_target_repackaged): $(full_target) | $(ZIPTIME)
+ @echo Repackaging SDK jar: $@
+ $(hide) rm -rf $(dir $@) && mkdir -p $(dir $@)
+ unzip -q $< -d $(dir $@)
+ cd $(dir $@) && zip -rqX $(notdir $@) *
+ $(remove-timestamps-from-package)
+
+$(android_jar_full_target): $(full_target_repackaged)
@echo Package SDK Stubs: $@
$(copy-file-to-target)