Merge "apex: respect filename property for apk-in-apex"

This commit is contained in:
Jooyung Han
2020-04-18 02:23:07 +00:00
committed by Gerrit Code Review
3 changed files with 62 additions and 12 deletions

View File

@@ -511,6 +511,10 @@ func processMainCert(m android.ModuleBase, certPropValue string, certificates []
return certificates
}
func (a *AndroidApp) InstallApkName() string {
return a.installApkName
}
func (a *AndroidApp) generateAndroidBuildActions(ctx android.ModuleContext) {
var apkDeps android.Paths
@@ -1134,6 +1138,10 @@ func (a *AndroidAppImport) GenerateAndroidBuildActions(ctx android.ModuleContext
a.generateAndroidBuildActions(ctx)
}
func (a *AndroidAppImport) InstallApkName() string {
return a.BaseModuleName()
}
func (a *AndroidAppImport) generateAndroidBuildActions(ctx android.ModuleContext) {
numCertPropsSet := 0
if String(a.properties.Certificate) != "" {
@@ -1191,6 +1199,8 @@ func (a *AndroidAppImport) generateAndroidBuildActions(ctx android.ModuleContext
dexOutput = dexUncompressed
}
apkFilename := proptools.StringDefault(a.properties.Filename, a.BaseModuleName()+".apk")
// Sign or align the package
// TODO: Handle EXTERNAL
if !Bool(a.properties.Presigned) {
@@ -1201,11 +1211,11 @@ func (a *AndroidAppImport) generateAndroidBuildActions(ctx android.ModuleContext
ctx.ModuleErrorf("Unexpected number of certificates were extracted: %q", certificates)
}
a.certificate = certificates[0]
signed := android.PathForModuleOut(ctx, "signed", ctx.ModuleName()+".apk")
signed := android.PathForModuleOut(ctx, "signed", apkFilename)
SignAppPackage(ctx, signed, dexOutput, certificates, nil)
a.outputFile = signed
} else {
alignedApk := android.PathForModuleOut(ctx, "zip-aligned", ctx.ModuleName()+".apk")
alignedApk := android.PathForModuleOut(ctx, "zip-aligned", apkFilename)
TransformZipAlign(ctx, alignedApk, dexOutput)
a.outputFile = alignedApk
a.certificate = presignedCertificate
@@ -1213,8 +1223,7 @@ func (a *AndroidAppImport) generateAndroidBuildActions(ctx android.ModuleContext
// TODO: Optionally compress the output apk.
a.installPath = ctx.InstallFile(installDir,
proptools.StringDefault(a.properties.Filename, a.BaseModuleName()+".apk"), a.outputFile)
a.installPath = ctx.InstallFile(installDir, apkFilename, a.outputFile)
// TODO: androidmk converter jni libs
}