chore(build): migrate to AGP 9 + Gradle 9 + compileSdk 37#84
Merged
Conversation
…ore-ktx 1.19) androidx core-ktx 1.19.0 requires compileSdk 37 (Android 16) and AGP >= 9.1.0, so this moves the whole build toolchain forward: - AGP 8.13.2 -> 9.2.1 and the Gradle wrapper 8.14.5 -> 9.4.1 (AGP 9.2 needs Gradle 9.4.1+), with the distribution checksum updated. - compileSdk 36 -> 37; core-ktx 1.18.0 -> 1.19.0. targetSdk stays 35 (a target bump is a behaviour change for its own pass). - AGP 9 turns on built-in Kotlin + the new DSL by default, which is incompatible with the standalone kotlin.android plugin we apply alongside the version-matched Compose and serialization compiler plugins. Opt out (android.builtInKotlin=false / android.newDsl=false) so the existing Kotlin 2.4.0 toolchain keeps driving compilation. Adopting built-in Kotlin is a follow-up that must land before AGP 10 removes the opt-out. - CI and release workflows install the android-37 platform explicitly, since it is new enough that the runner image may not bake it in. ktlint + Android Lint + unit tests + debug assembly all green locally; the assembled APK reports compileSdkVersion 37. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Unblocks dependabot #80 (core-ktx 1.19.0), which requires compileSdk 37 (Android 16) and AGP ≥ 9.1.0.
Changes
targetSdkstays 35 (a target bump is a behaviour change for its own pass).kotlin.androidplugin we apply alongside the version-matched Compose/serialization compiler plugins. Setandroid.builtInKotlin=false/android.newDsl=falseso the existing Kotlin 2.4.0 toolchain keeps driving compilation. Fully adopting built-in Kotlin is a follow-up (required before AGP 10 removes the opt-out).android-37platform explicitly, since it's new enough that the runner image may not bake it in.Verification
clean ktlintCheck lint test assembleDebug→ BUILD SUCCESSFUL; assembled APK reportscompileSdkVersion 37.After this merges, #80 is superseded (core-ktx is already at 1.19.0 here) and can be closed.
🤖 Generated with Claude Code