diff options
Diffstat (limited to 'java/dex.go')
-rw-r--r-- | java/dex.go | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/java/dex.go b/java/dex.go index e0e642c63..faf51a36a 100644 --- a/java/dex.go +++ b/java/dex.go @@ -220,14 +220,28 @@ func (d *dexer) dexCommonFlags(ctx android.ModuleContext, deps = append(deps, f) } + var requestReleaseMode bool + requestReleaseMode, flags = android.RemoveFromList("--release", flags) + if ctx.Config().Getenv("NO_OPTIMIZE_DX") != "" { flags = append(flags, "--debug") + requestReleaseMode = false } if ctx.Config().Getenv("GENERATE_DEX_DEBUG") != "" { flags = append(flags, "--debug", "--verbose") + requestReleaseMode = false + } + + // Don't strip out debug information for eng builds, unless the target + // explicitly provided the `--release` build flag. This allows certain + // test targets to remain optimized as part of eng test_suites builds. + if requestReleaseMode { + flags = append(flags, "--release") + } else if ctx.Config().Eng() { + flags = append(flags, "--debug") } // Supplying the platform build flag disables various features like API modeling and desugaring. @@ -384,11 +398,6 @@ func (d *dexer) r8Flags(ctx android.ModuleContext, dexParams *compileDexParams) // TODO(ccross): if this is an instrumentation test of an obfuscated app, use the // dictionary of the app and move the app from libraryjars to injars. - // Don't strip out debug information for eng builds. - if ctx.Config().Eng() { - r8Flags = append(r8Flags, "--debug") - } - // TODO(b/180878971): missing classes should be added to the relevant builds. // TODO(b/229727645): do not use true as default for Android platform builds. if proptools.BoolDefault(opt.Ignore_warnings, true) { |