prober: AGP 9.2 / Gradle 9.6 / Kotlin 2.2.10, targetSdk 36, build 5

Lifts the build off the JDK-21 ceiling — the old AGP 8.7.3 pin could not run
on JDK 25. Two AGP-9 migration edits were required:

- AGP 9 ships built-in Kotlin support, so applying org.jetbrains.kotlin.android
  alongside it fails with "extension with name kotlin already registered";
  the alias is dropped (kotlin.compose / kotlin.serialization stay, they are
  separate compiler plugins).
- kotlinOptions { jvmTarget } came from that plugin and no longer resolves;
  AGP derives jvmTarget from compileOptions instead.

compileSdk/targetSdk 35 -> 36, since Android Studio ships API 36.1 by default
and installing 35 was avoidable churn. versionCode 5 so the reports from this
toolchain are attributable (build 4 was already archived from the old one).

Also fixes a missing comma that left .claude/settings.json invalid JSON.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Markus Rambossek
2026-07-30 17:34:54 +02:00
co-authored by Claude Opus 5
parent cae3c00990
commit edcad3e539
4 changed files with 7 additions and 11 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"permissions": { "permissions": {
"allow": [ "allow": [
"WebFetch(domain:open-vsx.org)" "WebFetch(domain:open-vsx.org)",
"WebFetch(domain:github.com)" "WebFetch(domain:github.com)"
] ]
} }
+3 -7
View File
@@ -1,21 +1,20 @@
plugins { plugins {
alias(libs.plugins.android.application) alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose) alias(libs.plugins.kotlin.compose)
alias(libs.plugins.kotlin.serialization) alias(libs.plugins.kotlin.serialization)
} }
android { android {
namespace = "app.echo_lot.prober" namespace = "app.echo_lot.prober"
compileSdk = 35 compileSdk = 36
defaultConfig { defaultConfig {
applicationId = "app.echo_lot.prober" applicationId = "app.echo_lot.prober"
minSdk = 26 minSdk = 26
targetSdk = 35 targetSdk = 36
// Bump versionCode on EVERY deployed change — it is shown on screen and lands in the // Bump versionCode on EVERY deployed change — it is shown on screen and lands in the
// JSON report as proberBuild, so a report is attributable to an exact prober build. // JSON report as proberBuild, so a report is attributable to an exact prober build.
versionCode = 4 versionCode = 5
versionName = "0.1.0" versionName = "0.1.0"
} }
@@ -28,9 +27,6 @@ android {
sourceCompatibility = JavaVersion.VERSION_17 sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17
} }
kotlinOptions {
jvmTarget = "17"
}
buildFeatures { buildFeatures {
compose = true compose = true
aidl = true aidl = true
+2 -2
View File
@@ -1,6 +1,6 @@
[versions] [versions]
agp = "8.7.3" agp = "9.2.0"
kotlin = "2.0.21" kotlin = "2.2.10"
coreKtx = "1.13.1" coreKtx = "1.13.1"
lifecycle = "2.8.7" lifecycle = "2.8.7"
activityCompose = "1.9.3" activityCompose = "1.9.3"
+1 -1
View File
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.0-bin.zip
networkTimeout=10000 networkTimeout=10000
validateDistributionUrl=true validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME