Copy imported APKs to output filename
android_app_import and android_test_import modules with processed: true and skip_preprocessed_apk_checks are used directly from the source tree. If the source file name doesn t match the module name and the file is used as test data it can result in the wrong filename being used. Copy the source file to an output file with the correct name first. Bug: 290376750 Test: m CtsAppSecurityHostTestCases Change-Id: I4a6dd1c5e48db7085ea41035def31f0844948a46
This commit is contained in:
@@ -335,11 +335,19 @@ func (a *AndroidAppImport) generateAndroidBuildActions(ctx android.ModuleContext
|
||||
// Sign or align the package if package has not been preprocessed
|
||||
|
||||
if proptools.Bool(a.properties.Preprocessed) {
|
||||
output := srcApk
|
||||
var output android.WritablePath
|
||||
if !proptools.Bool(a.properties.Skip_preprocessed_apk_checks) {
|
||||
writableOutput := android.PathForModuleOut(ctx, "validated-prebuilt", apkFilename)
|
||||
a.validatePreprocessedApk(ctx, srcApk, writableOutput)
|
||||
output = writableOutput
|
||||
output = android.PathForModuleOut(ctx, "validated-prebuilt", apkFilename)
|
||||
a.validatePreprocessedApk(ctx, srcApk, output)
|
||||
} else {
|
||||
// If using the input APK unmodified, still make a copy of it so that the output filename has the
|
||||
// right basename.
|
||||
output = android.PathForModuleOut(ctx, apkFilename)
|
||||
ctx.Build(pctx, android.BuildParams{
|
||||
Rule: android.Cp,
|
||||
Input: srcApk,
|
||||
Output: output,
|
||||
})
|
||||
}
|
||||
a.outputFile = output
|
||||
a.certificate = PresignedCertificate
|
||||
|
Reference in New Issue
Block a user