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
Merged-In: I623d7a144418d7198f0bbf09c5dc983ed1a631c6
(cherry picked from commit 0ed1b1b1695b0f8ad75bd2493aef9f2801407f1c)
diff --git a/apex/builder.go b/apex/builder.go
index a90918d..5322d85 100644
--- a/apex/builder.go
+++ b/apex/builder.go
@@ -350,8 +350,8 @@
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) 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 ""
+}