aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2024-03-27 11:54:10 -0700
committerColin Cross <ccross@android.com>2024-03-27 11:58:58 -0700
commiteee4ab12fad3ac6d2663ab5b6f3537eab54448e9 (patch)
treecee6ede4d88331e395667f7c5e222aa25144342e
parentddde9e29a477ed46d14411c4d252df50e68ee114 (diff)
downloadsoong-eee4ab12fad3ac6d2663ab5b6f3537eab54448e9.tar.gz
Disable use_resource_processor when producing a shared library
Passing --shared-lib to aapt2 causes it to add an extra onResourcesLoaded method that rewrites resources IDs to include the package ID determined at runtime. ResourceProcessorBusyBox has no equivalent functionality, so disable whenever --shared-lib is found in aaptflags for now. Fixes: 330646473 Bug: 331641946 Test: manual Change-Id: Ibb0c2c7bf7a41ab294f5c84b4b6018cc8a63b0f4
-rw-r--r--java/aar.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/java/aar.go b/java/aar.go
index 1734da945..1c03594be 100644
--- a/java/aar.go
+++ b/java/aar.go
@@ -164,7 +164,9 @@ func propagateRROEnforcementMutator(ctx android.TopDownMutatorContext) {
}
func (a *aapt) useResourceProcessorBusyBox(ctx android.BaseModuleContext) bool {
- return BoolDefault(a.aaptProperties.Use_resource_processor, ctx.Config().UseResourceProcessorByDefault())
+ return BoolDefault(a.aaptProperties.Use_resource_processor, ctx.Config().UseResourceProcessorByDefault()) &&
+ // TODO(b/331641946): remove this when ResourceProcessorBusyBox supports generating shared libraries.
+ !slices.Contains(a.aaptProperties.Aaptflags, "--shared-lib")
}
func (a *aapt) filterProduct() string {