Don't create withres-withoutdex files for R8
The withres-withoutdex files were added in b/195558228 because D8 produced errors when given an input jar that contained both class and dex files: Error: com.android.tools.r8.internal.Cc: Cannot create android app from an archive 'out/soong/.intermediates/libcore/libcore-crypto-tests/android_common/withres/libcore-crypto-tests.jar' containing both DEX and Java-bytecode content It turns out R8 doesn't have this problem, it defaults to ignoring *.dex files unless the com.android.tools.r8.allowDexInputToR8 system property is set. Remove the withres-withoutdex files when using R8, but keep it in place for D8 for now. Bug: 302573555 Bug: 303264288 Bug: 303064127 Test: m checkbuild Test: m Calendar && m Calendar Test: m framework-minus-apex && m framework-minus-apex Change-Id: Ib6410f7fef6faf5913476c6423cdd27215c68c45
This commit is contained in:
parent
b716ceb832
commit
8484082fad
1 changed files with 3 additions and 6 deletions
|
@ -140,9 +140,7 @@ var r8, r8RE = pctx.MultiCommandRemoteStaticRules("r8",
|
|||
Command: `rm -rf "$outDir" && mkdir -p "$outDir" && ` +
|
||||
`rm -f "$outDict" && rm -f "$outConfig" && rm -rf "${outUsageDir}" && ` +
|
||||
`mkdir -p $$(dirname ${outUsage}) && ` +
|
||||
`mkdir -p $$(dirname $tmpJar) && ` +
|
||||
`${config.Zip2ZipCmd} -i $in -o $tmpJar -x '**/*.dex' && ` +
|
||||
`$r8Template${config.R8Cmd} ${config.R8Flags} -injars $tmpJar --output $outDir ` +
|
||||
`$r8Template${config.R8Cmd} ${config.R8Flags} -injars $in --output $outDir ` +
|
||||
`--no-data-resources ` +
|
||||
`-printmapping ${outDict} ` +
|
||||
`-printconfiguration ${outConfig} ` +
|
||||
|
@ -187,7 +185,7 @@ var r8, r8RE = pctx.MultiCommandRemoteStaticRules("r8",
|
|||
Platform: map[string]string{remoteexec.PoolKey: "${config.REJavaPool}"},
|
||||
},
|
||||
}, []string{"outDir", "outDict", "outConfig", "outUsage", "outUsageZip", "outUsageDir",
|
||||
"r8Flags", "zipFlags", "tmpJar", "mergeZipsFlags"}, []string{"implicits"})
|
||||
"r8Flags", "zipFlags", "mergeZipsFlags"}, []string{"implicits"})
|
||||
|
||||
func (d *dexer) dexCommonFlags(ctx android.ModuleContext,
|
||||
dexParams *compileDexParams) (flags []string, deps android.Paths) {
|
||||
|
@ -370,7 +368,6 @@ func (d *dexer) compileDex(ctx android.ModuleContext, dexParams *compileDexParam
|
|||
// Compile classes.jar into classes.dex and then javalib.jar
|
||||
javalibJar := android.PathForModuleOut(ctx, "dex", dexParams.jarName).OutputPath
|
||||
outDir := android.PathForModuleOut(ctx, "dex")
|
||||
tmpJar := android.PathForModuleOut(ctx, "withres-withoutdex", dexParams.jarName)
|
||||
|
||||
zipFlags := "--ignore_missing_files"
|
||||
if proptools.Bool(d.dexProperties.Uncompress_dex) {
|
||||
|
@ -408,7 +405,6 @@ func (d *dexer) compileDex(ctx android.ModuleContext, dexParams *compileDexParam
|
|||
"outUsage": proguardUsage.String(),
|
||||
"outUsageZip": proguardUsageZip.String(),
|
||||
"outDir": outDir.String(),
|
||||
"tmpJar": tmpJar.String(),
|
||||
"mergeZipsFlags": mergeZipsFlags,
|
||||
}
|
||||
if ctx.Config().UseRBE() && ctx.Config().IsEnvTrue("RBE_R8") {
|
||||
|
@ -428,6 +424,7 @@ func (d *dexer) compileDex(ctx android.ModuleContext, dexParams *compileDexParam
|
|||
Args: args,
|
||||
})
|
||||
} else {
|
||||
tmpJar := android.PathForModuleOut(ctx, "withres-withoutdex", dexParams.jarName)
|
||||
d8Flags, d8Deps := d8Flags(dexParams.flags)
|
||||
d8Deps = append(d8Deps, commonDeps...)
|
||||
rule := d8
|
||||
|
|
Loading…
Reference in a new issue