Add package_name property to android_app.

This enables users to override the package name of their apps either
directly in android_app or through override_android_app.

Bug: 122957760
Test: app_test.go
Change-Id: I98080a4076ce970fc85e58fc33495ba9b363eec9
This commit is contained in:
Jaewoong Jung
2019-03-13 10:13:24 -07:00
parent 789b84b12f
commit 6f373f60c4
2 changed files with 32 additions and 4 deletions

View File

@@ -81,6 +81,9 @@ type overridableAppProperties struct {
// The name of a certificate in the default certificate directory, blank to use the default product certificate,
// or an android_app_certificate module name in the form ":module".
Certificate *string
// the package name of this app. The package name in the manifest file is used if one was not given.
Package_name *string
}
type AndroidApp struct {
@@ -223,11 +226,12 @@ func (a *AndroidApp) aaptBuildActions(ctx android.ModuleContext) {
}
}
// TODO: LOCAL_PACKAGE_OVERRIDES
// $(addprefix --rename-manifest-package , $(PRIVATE_MANIFEST_PACKAGE_NAME)) \
manifestPackageName, overridden := ctx.DeviceConfig().OverrideManifestPackageNameFor(ctx.ModuleName())
if overridden {
if overridden || a.overridableAppProperties.Package_name != nil {
// The product override variable has a priority over the package_name property.
if !overridden {
manifestPackageName = *a.overridableAppProperties.Package_name
}
aaptLinkFlags = append(aaptLinkFlags, "--rename-manifest-package "+manifestPackageName)
}