From 84b2589e6dc85d15af273b8a293ed7f064142af7 Mon Sep 17 00:00:00 2001 From: Jihoon Kang Date: Fri, 1 Dec 2023 22:01:06 +0000 Subject: Add aconfig flag support for android_app This change adds an overrideable property flags_packages to android_app, which is used to list the aconfig_declarations module names that the app depends on. The build action of android_app is modified to pass all flags text file provided by the aconfig_declarations to aapt2 link as --feature-flags arguments. Test: m nothing --no-skip-soong-tests Bug: 306024510 Change-Id: I4924f88b9954950cc1936a472cd7ac70f41add5d --- java/aar.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'java/aar.go') diff --git a/java/aar.go b/java/aar.go index 57a05d47b..1ab452965 100644 --- a/java/aar.go +++ b/java/aar.go @@ -349,6 +349,7 @@ type aaptBuildActionOptions struct { excludedLibs []string enforceDefaultTargetSdkVersion bool extraLinkFlags []string + aconfigTextFiles android.Paths } func (a *aapt) buildActions(ctx android.ModuleContext, opts aaptBuildActionOptions) { @@ -529,7 +530,8 @@ func (a *aapt) buildActions(ctx android.ModuleContext, opts aaptBuildActionOptio transitiveAssets = android.ReverseSliceInPlace(staticDeps.assets()) } aapt2Link(ctx, packageRes, srcJar, proguardOptionsFile, rTxt, - linkFlags, linkDeps, compiledRes, compiledOverlay, transitiveAssets, splitPackages) + linkFlags, linkDeps, compiledRes, compiledOverlay, transitiveAssets, splitPackages, + opts.aconfigTextFiles) // Extract assets from the resource package output so that they can be used later in aapt2link // for modules that depend on this one. if android.PrefixInList(linkFlags, "-A ") { @@ -1193,7 +1195,7 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) { transitiveAssets := android.ReverseSliceInPlace(staticDeps.assets()) aapt2Link(ctx, a.exportPackage, nil, proguardOptionsFile, a.rTxt, - linkFlags, linkDeps, nil, overlayRes, transitiveAssets, nil) + linkFlags, linkDeps, nil, overlayRes, transitiveAssets, nil, nil) a.rJar = android.PathForModuleOut(ctx, "busybox/R.jar") resourceProcessorBusyBoxGenerateBinaryR(ctx, a.rTxt, a.manifest, a.rJar, nil, true) -- cgit v1.2.3-59-g8ed1b