From b691e24d899f3a773da88df0eecada5918a96a2c Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Wed, 9 May 2018 11:11:35 -0700 Subject: Pass platform version name as --version-name for framework-res.apk framework-res.apk should get the platform version name ("9") as --version-name, not the SDK version ("28"). It will get copied to compileSdkVersionCodename in APKs compiled against it. Bug: 78324052 Test: aapt dump badging $OUT/system/framework/framework-res.apk | grep -i version Change-Id: I34a601cb2c14f66199066e7d598862108da0b950 --- android/config.go | 4 ++++ android/variable.go | 1 + java/aar.go | 4 ++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/android/config.go b/android/config.go index 549abe91..fafed6b0 100644 --- a/android/config.go +++ b/android/config.go @@ -468,6 +468,10 @@ func (c *config) ResourceOverlays() []string { return *c.productVariables.ResourceOverlays } +func (c *config) PlatformVersionName() string { + return String(c.productVariables.Platform_version_name) +} + func (c *config) PlatformSdkVersionInt() int { return *c.productVariables.Platform_sdk_version } diff --git a/android/variable.go b/android/variable.go index 9d9830ea..f4aaec7a 100644 --- a/android/variable.go +++ b/android/variable.go @@ -127,6 +127,7 @@ type productVariables struct { BuildNumberFromFile *string `json:",omitempty"` DateFromFile *string `json:",omitempty"` + Platform_version_name *string `json:",omitempty"` Platform_sdk_version *int `json:",omitempty"` Platform_sdk_codename *string `json:",omitempty"` Platform_sdk_final *bool `json:",omitempty"` diff --git a/java/aar.go b/java/aar.go index 9e5cddb6..66f1cab6 100644 --- a/java/aar.go +++ b/java/aar.go @@ -150,8 +150,8 @@ func (a *aapt) aapt2Flags(ctx android.ModuleContext, sdkVersion string) (flags [ if ctx.ModuleName() == "framework-res" { // Some builds set AppsDefaultVersionName() to include the build number ("O-123456"). aapt2 copies the // version name of framework-res into app manifests as compileSdkVersionCodename, which confuses things - // if it contains the build number. Use the DefaultAppTargetSdk instead. - versionName = ctx.Config().DefaultAppTargetSdk() + // if it contains the build number. Use the PlatformVersionName instead. + versionName = ctx.Config().PlatformVersionName() } else { versionName = ctx.Config().AppsDefaultVersionName() } -- cgit v1.2.3