diff --git a/apex/apex.go b/apex/apex.go index c010d4e19..9c856eee1 100644 --- a/apex/apex.go +++ b/apex/apex.go @@ -1353,6 +1353,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 b8e887836..babc27b43 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 552d907dd..40adfcab7 100644 --- a/apex/builder.go +++ b/apex/builder.go @@ -658,6 +658,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