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:
12
apex/apex.go
12
apex/apex.go
@@ -1755,15 +1755,16 @@ func apexFileForCompatConfig(ctx android.BaseModuleContext, config java.Platform
|
||||
func apexFileForAndroidApp(ctx android.BaseModuleContext, aapp interface {
|
||||
android.Module
|
||||
Privileged() bool
|
||||
InstallApkName() string
|
||||
OutputFile() android.Path
|
||||
JacocoReportClassesFile() android.Path
|
||||
Certificate() java.Certificate
|
||||
}, pkgName string) apexFile {
|
||||
}) apexFile {
|
||||
appDir := "app"
|
||||
if aapp.Privileged() {
|
||||
appDir = "priv-app"
|
||||
}
|
||||
dirInApex := filepath.Join(appDir, pkgName)
|
||||
dirInApex := filepath.Join(appDir, aapp.InstallApkName())
|
||||
fileToCopy := aapp.OutputFile()
|
||||
af := newApexFile(ctx, fileToCopy, aapp.Name(), dirInApex, app, aapp)
|
||||
af.jacocoReportClassesFile = aapp.JacocoReportClassesFile()
|
||||
@@ -2044,14 +2045,13 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
ctx.PropertyErrorf("java_libs", "%q of type %q is not supported", depName, ctx.OtherModuleType(child))
|
||||
}
|
||||
case androidAppTag:
|
||||
pkgName := ctx.DeviceConfig().OverridePackageNameFor(depName)
|
||||
if ap, ok := child.(*java.AndroidApp); ok {
|
||||
filesInfo = append(filesInfo, apexFileForAndroidApp(ctx, ap, pkgName))
|
||||
filesInfo = append(filesInfo, apexFileForAndroidApp(ctx, ap))
|
||||
return true // track transitive dependencies
|
||||
} else if ap, ok := child.(*java.AndroidAppImport); ok {
|
||||
filesInfo = append(filesInfo, apexFileForAndroidApp(ctx, ap, pkgName))
|
||||
filesInfo = append(filesInfo, apexFileForAndroidApp(ctx, ap))
|
||||
} else if ap, ok := child.(*java.AndroidTestHelperApp); ok {
|
||||
filesInfo = append(filesInfo, apexFileForAndroidApp(ctx, ap, pkgName))
|
||||
filesInfo = append(filesInfo, apexFileForAndroidApp(ctx, ap))
|
||||
} else {
|
||||
ctx.PropertyErrorf("apps", "%q is not an android_app module", depName)
|
||||
}
|
||||
|
Reference in New Issue
Block a user