Don't use AppsDefaultVersionName for framework-res.apk
Some builds set AppsDefaultVersionName() to include the build number ("P-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 ("P") instead. Bug: 78324052 Test: m TARGET_BUILD_WITH_APPS_VERSION_NAME=true Dialer aapt dump badging $OUT/system/priv-app/Dialer/Dialer.apk | grep compile shows compileSdkVersionCodename=P Change-Id: If67f40aae1066d4ff3bf97da1b2de2e1e250ad9c
This commit is contained in:
11
java/aar.go
11
java/aar.go
@@ -143,7 +143,16 @@ func (a *aapt) aapt2Flags(ctx android.ModuleContext, sdkVersion string) (flags [
|
|||||||
}
|
}
|
||||||
|
|
||||||
if !hasVersionName {
|
if !hasVersionName {
|
||||||
versionName := proptools.NinjaEscape([]string{ctx.Config().AppsDefaultVersionName()})[0]
|
var versionName string
|
||||||
|
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()
|
||||||
|
} else {
|
||||||
|
versionName = ctx.Config().AppsDefaultVersionName()
|
||||||
|
}
|
||||||
|
versionName = proptools.NinjaEscape([]string{versionName})[0]
|
||||||
linkFlags = append(linkFlags, "--version-name ", versionName)
|
linkFlags = append(linkFlags, "--version-name ", versionName)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user