diff --git a/dexpreopt/config.go b/dexpreopt/config.go index f1fa0ff34..3b77042ba 100644 --- a/dexpreopt/config.go +++ b/dexpreopt/config.go @@ -59,6 +59,7 @@ type GlobalConfig struct { NeverAllowStripping bool // whether stripping should not be done - used as build time check to make sure dex files are always available NoDebugInfo bool // don't generate debug info by default + DontResolveStartupStrings bool // don't resolve string literals loaded during application startup. AlwaysSystemServerDebugInfo bool // always generate mini debug info for system server modules (overrides NoDebugInfo=true) NeverSystemServerDebugInfo bool // never generate mini debug info for system server modules (overrides NoDebugInfo=false) AlwaysOtherDebugInfo bool // always generate mini debug info for non-system server modules (overrides NoDebugInfo=true) @@ -301,6 +302,7 @@ func GlobalConfigForTests(ctx android.PathContext) GlobalConfig { GenerateDMFiles: false, NeverAllowStripping: false, NoDebugInfo: false, + DontResolveStartupStrings: false, AlwaysSystemServerDebugInfo: false, NeverSystemServerDebugInfo: false, AlwaysOtherDebugInfo: false, diff --git a/dexpreopt/dexpreopt.go b/dexpreopt/dexpreopt.go index 01ee15ed3..5b658d989 100644 --- a/dexpreopt/dexpreopt.go +++ b/dexpreopt/dexpreopt.go @@ -461,6 +461,9 @@ func dexpreoptCommand(ctx android.PathContext, global GlobalConfig, module Modul appImageInstallPath := pathtools.ReplaceExtension(odexInstallPath, "art") cmd.FlagWithOutput("--app-image-file=", appImagePath). FlagWithArg("--image-format=", "lz4") + if !global.DontResolveStartupStrings { + cmd.FlagWithArg("--resolve-startup-const-strings=", "true") + } rule.Install(appImagePath, appImageInstallPath) }