diff --git a/android/build_prop.go b/android/build_prop.go index 80bbfc19d..14e5e2310 100644 --- a/android/build_prop.go +++ b/android/build_prop.go @@ -121,7 +121,12 @@ func (p *buildPropModule) GenerateAndroidBuildActions(ctx ModuleContext) { postProcessCmd.Flag("--allow-dup") } postProcessCmd.FlagWithArg("--sdk-version ", config.PlatformSdkVersion().String()) - postProcessCmd.FlagWithInput("--kernel-version-file-for-uffd-gc ", PathForOutput(ctx, "dexpreopt/kernel_version_for_uffd_gc.txt")) + if ctx.Config().EnableUffdGc() == "default" { + postProcessCmd.FlagWithInput("--kernel-version-file-for-uffd-gc ", PathForOutput(ctx, "dexpreopt/kernel_version_for_uffd_gc.txt")) + } else { + // still need to pass an empty string to kernel-version-file-for-uffd-gc + postProcessCmd.FlagWithArg("--kernel-version-file-for-uffd-gc ", `""`) + } postProcessCmd.Text(p.outputFilePath.String()) postProcessCmd.Flags(p.properties.Block_list) diff --git a/android/config.go b/android/config.go index 92aae7e16..5f2307cdb 100644 --- a/android/config.go +++ b/android/config.go @@ -2081,3 +2081,7 @@ func (c *config) UseDebugArt() bool { func (c *config) SystemPropFiles(ctx PathContext) Paths { return PathsForSource(ctx, c.productVariables.SystemPropFiles) } + +func (c *config) EnableUffdGc() string { + return String(c.productVariables.EnableUffdGc) +} diff --git a/android/variable.go b/android/variable.go index 5356e8525..2abe80b10 100644 --- a/android/variable.go +++ b/android/variable.go @@ -508,6 +508,8 @@ type ProductVariables struct { ArtTargetIncludeDebugBuild *bool `json:",omitempty"` SystemPropFiles []string `json:",omitempty"` + + EnableUffdGc *string `json:",omitempty"` } type PartitionQualifiedVariablesType struct {