From 79fa3a3ad18bb93672204bb5e2cf70ce05f008a6 Mon Sep 17 00:00:00 2001 From: Patrick Lang <72232737+patrickunterwegs@users.noreply.github.com> Date: Sat, 17 Jan 2026 17:30:47 +0100 Subject: [PATCH] agp 9 upgrade (wip) --- app/build.gradle.kts | 16 +++++------ baselineprofile/build.gradle.kts | 34 +++++++++++++++--------- gradle.properties | 11 ++++++++ gradle/libs.versions.toml | 4 +-- gradle/wrapper/gradle-wrapper.properties | 2 +- 5 files changed, 43 insertions(+), 24 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 51dbe7255..7e28d24e0 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -13,6 +13,7 @@ import java.util.Properties plugins { + alias(libs.plugins.mikepenz.aboutLibraries) alias(libs.plugins.android.application) alias(libs.plugins.compose.compiler) alias(libs.plugins.kotlin.android) @@ -20,10 +21,13 @@ plugins { alias(libs.plugins.kotlinx.serialization) alias(libs.plugins.kotlin.parcelize) alias(libs.plugins.baselineprofile) - alias(libs.plugins.mikepenz.aboutLibraries) //alias(libs.plugins.huawei.agconnect) } +kotlin { + jvmToolchain(21) +} + // Creates a variable called keystorePropertiesFile, and initializes it to the keystore.properties file. // see https://developer.android.com/build/gradle-tips#remove-private-signing-information-from-your-project val keystorePropertiesFile = rootProject.file("keystore.properties") @@ -41,8 +45,8 @@ android { applicationId = "at.techbee.jtx" minSdk = 23 targetSdk = 36 - versionCode = 215010001 - versionName = "2.15.01" // keep -release as a suffix also for release, build flavor adds the suffix e.g. .gplay (e.g. 1.00.00-rc0.gplay) + versionCode = 215010002 + versionName = "2.15.01-alpha02" // keep -release as a suffix also for release, build flavor adds the suffix e.g. .gplay (e.g. 1.00.00-rc0.gplay) buildConfigField("String", "versionCodename", "\"Love knows no borders \uD83C\uDF08\"") multiDexEnabled = true vectorDrawables.useSupportLibrary = true @@ -64,10 +68,6 @@ android { resValue("string", "google_geo_api_key", System.getenv("GOOGLE_GEO_API_KEY") ?: keystoreProperties["google.geo.apikey"]?.toString() ?: "") } - kotlin { - jvmToolchain(21) // Or your desired consistent JVM version - } - compileOptions { // enable because ical4android requires desugaring isCoreLibraryDesugaringEnabled = true @@ -116,7 +116,7 @@ android { getByName("release") { isMinifyEnabled = true proguardFiles( - getDefaultProguardFile("proguard-android.txt"), + getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) isShrinkResources = true diff --git a/baselineprofile/build.gradle.kts b/baselineprofile/build.gradle.kts index bf5c73e64..93c137286 100644 --- a/baselineprofile/build.gradle.kts +++ b/baselineprofile/build.gradle.kts @@ -1,22 +1,26 @@ -import com.android.build.api.dsl.ManagedVirtualDevice plugins { alias(libs.plugins.android.test) - alias(libs.plugins.kotlin.android) + //alias(libs.plugins.kotlin.android) alias(libs.plugins.baselineprofile) } + +/* +kotlin { + jvmToolchain(21) // Or your desired consistent JVM version +} + + */ + + android { namespace = "at.techbee.jtx.baselineprofile" - compileSdk = 35 - - kotlin { - jvmToolchain(21) // Or your desired consistent JVM version - } + compileSdk = 36 defaultConfig { minSdk = 28 - targetSdk = 35 + targetSdk = 36 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } @@ -33,11 +37,15 @@ android { // This code creates the gradle managed device used to generate baseline profiles. // To use GMD please invoke generation through the command line: // ./gradlew :app:generateBaselineProfile - testOptions.managedDevices.devices { - create("pixel6Api34") { - device = "Pixel 6" - apiLevel = 34 - systemImageSource = "google" + testOptions { + managedDevices { + localDevices { + create("pixel6Api34") { + device = "Pixel 6" + apiLevel = 34 + systemImageSource = "google" + } + } } } } diff --git a/gradle.properties b/gradle.properties index 44492eb92..d2210796a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,3 +15,14 @@ android.useAndroidX=true android.nonTransitiveRClass=true android.nonFinalResIds=true android.enableR8.fullMode=false + +android.defaults.buildfeatures.resvalues=true +android.sdk.defaultTargetSdkToCompileSdkIfUnset=false +android.enableAppCompileTimeRClass=false +android.usesSdkInManifest.disallowed=false +android.uniquePackageNames=false +android.dependency.useConstraints=true +android.r8.strictFullModeForKeepRules=false +android.r8.optimizedResourceShrinking=false +android.builtInKotlin=false +android.newDsl=false diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d249ac7c9..22d3e4914 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,7 +2,7 @@ [versions] amazonAppstoreSdk = "3.0.8" -android-agp = "8.13.2" +android-agp = "9.0.0" android-desugaring = "2.1.5" androidx-activityCompose = "1.12.2" androidx-appcompat = "1.7.1" @@ -53,7 +53,7 @@ android-review = "2.0.2" espressoCore = "3.7.0" uiautomator = "2.3.0" benchmarkMacroJunit4 = "1.4.1" -baselineprofile = "1.4.1" +baselineprofile = "1.5.0-alpha01" [libraries] amazon-appstore-sdk = { module = "com.amazon.device:amazon-appstore-sdk", version.ref = "amazonAppstoreSdk" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 252d888a2..1419dbc6a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-all.zip