diff --git a/apex/apex.go b/apex/apex.go index cddd72b3c..1855841b0 100644 --- a/apex/apex.go +++ b/apex/apex.go @@ -1359,6 +1359,10 @@ type overridableProperties struct { // Logging Parent value Logging_parent string + + // Apex Container Package Name. + // Override value for attribute package:name in AndroidManifest.xml + Package_name string } type apexPackaging int diff --git a/apex/apex_test.go b/apex/apex_test.go index ad9187890..084b989d2 100644 --- a/apex/apex_test.go +++ b/apex/apex_test.go @@ -3664,6 +3664,7 @@ func TestOverrideApex(t *testing.T) { apps: ["override_app"], overrides: ["unknownapex"], logging_parent: "com.foo.bar", + package_name: "test.overridden.package", } apex_key { @@ -3715,7 +3716,7 @@ func TestOverrideApex(t *testing.T) { } optFlags := apexRule.Args["opt_flags"] - ensureContains(t, optFlags, "--override_apk_package_name com.android.myapex") + ensureContains(t, optFlags, "--override_apk_package_name test.overridden.package") data := android.AndroidMkDataForTest(t, config, "", apexBundle) var builder strings.Builder diff --git a/apex/builder.go b/apex/builder.go index 464d84377..8530c92f5 100644 --- a/apex/builder.go +++ b/apex/builder.go @@ -657,6 +657,9 @@ func (a *apexBundle) getOverrideManifestPackageName(ctx android.ModuleContext) s } return "" } + if a.overridableProperties.Package_name != "" { + return a.overridableProperties.Package_name + } manifestPackageName, overridden := ctx.DeviceConfig().OverrideManifestPackageNameFor(ctx.ModuleName()) if overridden { return manifestPackageName