Override package name for VNDK APEX
com.android.vndk.v<VER> is overridden with com.google.android.vndk.v<VERE>. Test: m com.android.vndk.current && aapt2 dump badging ../system/apex/com.android.vndk.current.apex Change-Id: I623d7a144418d7198f0bbf09c5dc983ed1a631c6
This commit is contained in:
@@ -717,7 +717,13 @@ func (a *apexBundle) DepIsInSameApex(ctx android.BaseModuleContext, dep android.
|
||||
}
|
||||
|
||||
func (a *apexBundle) getCertString(ctx android.BaseModuleContext) string {
|
||||
certificate, overridden := ctx.DeviceConfig().OverrideCertificateFor(ctx.ModuleName())
|
||||
moduleName := ctx.ModuleName()
|
||||
// VNDK APEXes share the same certificate. To avoid adding a new VNDK version to the OVERRIDE_* list,
|
||||
// we check with the pseudo module name to see if its certificate is overridden.
|
||||
if a.vndkApex {
|
||||
moduleName = vndkApexName
|
||||
}
|
||||
certificate, overridden := ctx.DeviceConfig().OverrideCertificateFor(moduleName)
|
||||
if overridden {
|
||||
return ":" + certificate
|
||||
}
|
||||
|
@@ -350,8 +350,8 @@ func (a *apexBundle) buildUnflattenedApex(ctx android.ModuleContext) {
|
||||
implicitInputs = append(implicitInputs, cannedFsConfig, a.fileContexts, a.private_key_file, a.public_key_file)
|
||||
optFlags = append(optFlags, "--pubkey "+a.public_key_file.String())
|
||||
|
||||
manifestPackageName, overridden := ctx.DeviceConfig().OverrideManifestPackageNameFor(a.Name())
|
||||
if overridden {
|
||||
manifestPackageName := a.getOverrideManifestPackageName(ctx)
|
||||
if manifestPackageName != "" {
|
||||
optFlags = append(optFlags, "--override_apk_package_name "+manifestPackageName)
|
||||
}
|
||||
|
||||
@@ -534,3 +534,21 @@ func (a *apexBundle) buildFilesInfo(ctx android.ModuleContext) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (a *apexBundle) getOverrideManifestPackageName(ctx android.ModuleContext) string {
|
||||
// For VNDK APEXes, check "com.android.vndk" in PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES
|
||||
// to see if it should be overridden because their <apex name> is dynamically generated
|
||||
// according to its VNDK version.
|
||||
if a.vndkApex {
|
||||
overrideName, overridden := ctx.DeviceConfig().OverrideManifestPackageNameFor(vndkApexName)
|
||||
if overridden {
|
||||
return strings.Replace(*a.properties.Apex_name, vndkApexName, overrideName, 1)
|
||||
}
|
||||
return ""
|
||||
}
|
||||
manifestPackageName, overridden := ctx.DeviceConfig().OverrideManifestPackageNameFor(a.Name())
|
||||
if overridden {
|
||||
return manifestPackageName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
@@ -26,7 +26,8 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
vndkApexNamePrefix = "com.android.vndk.v"
|
||||
vndkApexName = "com.android.vndk"
|
||||
vndkApexNamePrefix = vndkApexName + ".v"
|
||||
)
|
||||
|
||||
// apex_vndk creates a special variant of apex modules which contains only VNDK libraries.
|
||||
|
Reference in New Issue
Block a user