Give flag to R8 if we explicity opted for optimized shrinking
This allows us to keep R fields for targets that are not explicilty opting in (many tests rely on these, and R8 shake them away)
Bug: 372264901
Bug: 325905703
Test: v2/android-virtual-infra/test_mapping/presubmit-avd
Change-Id: Ifeede36f6b6fae5ebc382e38ca2eba6725c0e84b
diff --git a/java/dex.go b/java/dex.go
index a3f699b..f4b53f0 100644
--- a/java/dex.go
+++ b/java/dex.go
@@ -404,6 +404,10 @@
r8Flags = append(r8Flags, "--resource-output", d.resourcesOutput.Path().String())
if d.dexProperties.optimizedResourceShrinkingEnabled(ctx) {
r8Flags = append(r8Flags, "--optimized-resource-shrinking")
+ if Bool(d.dexProperties.Optimize.Optimized_shrink_resources) {
+ // Explicitly opted into optimized shrinking, no need for keeping R$id entries
+ r8Flags = append(r8Flags, "--force-optimized-resource-shrinking")
+ }
}
}