diff --git a/android/config.go b/android/config.go index a0418d8dd..859e164b2 100644 --- a/android/config.go +++ b/android/config.go @@ -862,6 +862,13 @@ func (c *config) ArtUseReadBarrier() bool { func (c *config) EnforceRROForModule(name string) bool { enforceList := c.productVariables.EnforceRROTargets + // TODO(b/150820813) Some modules depend on static overlay, remove this after eliminating the dependency. + exemptedList := c.productVariables.EnforceRROExemptedTargets + if exemptedList != nil { + if InList(name, exemptedList) { + return false + } + } if enforceList != nil { if InList("*", enforceList) { return true diff --git a/android/variable.go b/android/variable.go index 4d1b5e425..118e10766 100644 --- a/android/variable.go +++ b/android/variable.go @@ -187,9 +187,11 @@ type productVariables struct { CrossHostArch *string `json:",omitempty"` CrossHostSecondaryArch *string `json:",omitempty"` - DeviceResourceOverlays []string `json:",omitempty"` - ProductResourceOverlays []string `json:",omitempty"` - EnforceRROTargets []string `json:",omitempty"` + DeviceResourceOverlays []string `json:",omitempty"` + ProductResourceOverlays []string `json:",omitempty"` + EnforceRROTargets []string `json:",omitempty"` + // TODO(b/150820813) Some modules depend on static overlay, remove this after eliminating the dependency. + EnforceRROExemptedTargets []string `json:",omitempty"` EnforceRROExcludedOverlays []string `json:",omitempty"` AAPTCharacteristics *string `json:",omitempty"`