apex: respect filename property for apk-in-apex
android_app_import supports filename: property, which overrides .apk
filename.
Now, apex packaging rule respects it too.
(Previously, apex packaging ignored it)
Bug: 152163837
Test: m (soong tests amended)
Merged-In: I72e2f1c923f4d01c42a87bf2232a025adca4c918
Change-Id: I72e2f1c923f4d01c42a87bf2232a025adca4c918
(cherry picked from commit 39ee119de2
)
This commit is contained in:
17
java/app.go
17
java/app.go
@@ -500,6 +500,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
|
||||
|
||||
@@ -1110,6 +1114,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) != "" {
|
||||
@@ -1167,6 +1175,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) {
|
||||
@@ -1177,11 +1187,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
|
||||
@@ -1189,8 +1199,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
|
||||
}
|
||||
|
Reference in New Issue
Block a user