Return false from UseDebugArt when using prebuilt art apex
UseDebugArt is returning true even when the prebuilt art apex is
selected, causing duplicate rules to copy service-art.jar to
out/soong/system_server_dexjars/service-art.jar. Force UseDebugArt
to return false when RELEASE_APEX_CONTRIBUTIONS_ART is enabled.
Bug: 398836954
Test: manual
Change-Id: Ifd94db5e93b60a64ce589372ff7ccc3ec6b53e53
diff --git a/android/config.go b/android/config.go
index f6d08b8..a5edf0d 100644
--- a/android/config.go
+++ b/android/config.go
@@ -2275,10 +2275,18 @@
}
func (c *config) UseDebugArt() bool {
+ // If the ArtTargetIncludeDebugBuild product variable is set then return its value.
if c.productVariables.ArtTargetIncludeDebugBuild != nil {
return Bool(c.productVariables.ArtTargetIncludeDebugBuild)
}
+ // If the RELEASE_APEX_CONTRIBUTIONS_ART build flag is set to use a prebuilt ART apex
+ // then don't use the debug apex.
+ if val, ok := c.GetBuildFlag("RELEASE_APEX_CONTRIBUTIONS_ART"); ok && val != "" {
+ return false
+ }
+
+ // Default to the debug apex for eng builds.
return Bool(c.productVariables.Eng)
}