From 5335bc471a247d956461dae247b04417bcffe3e1 Mon Sep 17 00:00:00 2001 From: Nikita Ioffe Date: Tue, 20 Oct 2020 00:02:15 +0100 Subject: [PATCH] Propagate min_sdk_version to apexer This way it will be correctly set in the auto-generated AndroidManifest.xml. Bug: 171096530 Bug: 157078772 Test: m Change-Id: I268f08ca5dd17fa9d6763ad70cc9a3f83891a8d6 Merged-In: I268f08ca5dd17fa9d6763ad70cc9a3f83891a8d6 (cherry picked from commit 97fd49235a161ac73cf4aa414feb6493e19cdbb4) --- apex/builder.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/apex/builder.go b/apex/builder.go index 7c125ef4f..ad673d656 100644 --- a/apex/builder.go +++ b/apex/builder.go @@ -21,6 +21,7 @@ import ( "path/filepath" "runtime" "sort" + "strconv" "strings" "android/soong/android" @@ -552,14 +553,16 @@ func (a *apexBundle) buildUnflattenedApex(ctx android.ModuleContext) { optFlags = append(optFlags, "--android_manifest "+androidManifestFile.String()) } - targetSdkVersion := ctx.Config().DefaultAppTargetSdk(ctx).String() - // TODO(b/157078772): propagate min_sdk_version to apexer. - minSdkVersion := ctx.Config().DefaultAppTargetSdk(ctx).String() - moduleMinSdkVersion := a.minSdkVersion(ctx) - if moduleMinSdkVersion.EqualTo(android.SdkVersion_Android10) { - minSdkVersion = moduleMinSdkVersion.String() + minSdkVersion := moduleMinSdkVersion.String() + + // bundletool doesn't understand what "current" is. We need to transform it to codename + if moduleMinSdkVersion.IsCurrent() { + minSdkVersion = ctx.Config().DefaultAppTargetSdk(ctx).String() } + // apex module doesn't have a concept of target_sdk_version, hence for the time being + // targetSdkVersion == default targetSdkVersion of the branch. + targetSdkVersion := strconv.Itoa(ctx.Config().DefaultAppTargetSdk(ctx).FinalOrFutureInt()) if java.UseApiFingerprint(ctx) { targetSdkVersion = ctx.Config().PlatformSdkCodename() + fmt.Sprintf(".$$(cat %s)", java.ApiFingerprintPath(ctx).String())