Skip to content

Commit

Permalink
Copy imported APKs to output filename
Browse files Browse the repository at this point in the history
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
(cherry picked from https://android-review.googlesource.com/q/commit:5780d57a7116643c6d9eac735982ac44bd6b0189)
Merged-In: I4a6dd1c5e48db7085ea41035def31f0844948a46
Change-Id: I4a6dd1c5e48db7085ea41035def31f0844948a46
  • Loading branch information
colincross authored and Ivan Chiang committed Feb 29, 2024
1 parent 955f87b commit 2150160
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion java/app_import.go
Original file line number Diff line number Diff line change
Expand Up @@ -319,7 +319,16 @@ func (a *AndroidAppImport) generateAndroidBuildActions(ctx android.ModuleContext
// Sign or align the package if package has not been preprocessed

if a.preprocessed {
a.outputFile = srcApk
var output android.WritablePath
// 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
} else if !Bool(a.properties.Presigned) {
// If the certificate property is empty at this point, default_dev_cert must be set to true.
Expand Down

0 comments on commit 2150160

Please sign in to comment.