Skip to content

Investigate Android Gradle Plugin 9.0 #615

@dfabulich

Description

@dfabulich

https://developer.android.com/build/releases/agp-9-0-0-release-notes

The android DSL classes now only implement the new public interfaces

Over the last several years, we have introduced new interfaces for our DSL and API in order to better control which APIs are public. AGP versions 7.x and 8.x still used the old DSL types (for example BaseExtension) which also implemented the new public interfaces, in order to maintain compatibility as work progressed on the interfaces.

AGP 9.0 uses our new DSL interfaces exclusively, and the implementations have changed to new types that are fully hidden. This also removes access to the old, deprecated variant API.

...

Built-in Kotlin

Android Gradle plugin 9.0 introduces built-in Kotlin support and enables it by default. That means you no longer have to apply the org.jetbrains.kotlin.android (or kotlin-android) plugin in your build files to compile Kotlin source files. This simplifies the Kotlin integration with AGP, avoids the use of deprecated APIs, and improves performance in some cases.

...

Runtime dependency on Kotlin Gradle plugin

To provide built-in Kotlin support, Android Gradle plugin 9.0 now has a runtime dependency on Kotlin Gradle plugin (KGP) 2.2.10. That means you no longer have to declare a KGP version, and if you use a KGP version lower than 2.2.10, Gradle will automatically upgrade your KGP version to 2.2.10. Likewise, if you use a KSP version lower than 2.2.10-2.0.2, AGP will upgrade it to 2.2.10-2.0.2 to match the KGP version.

This release completely broke another gradle plugin I'm acquainted with, https://github.com/ndtp/android-testify … fixing it was non-trivial.

Maybe it'll be an easy drop-in replacement for Skip! But I don't feel lucky…

(Fortunately, I don't think there's any urgency on this.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    projectIssues involving the structure of a Skip project, including Xcode, Gradle, Studio, fastlane and CI

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions