For developers · Checked 1 October 2026

Upgrading your app build to Gradle 9

Short answer: Gradle 9 needs Java 17 or later to run, and the current release, Gradle 9.8.0 from September 29, 2026, runs on JVM 17 through 27. Your code can still target older Java through toolchains. Upgrade with ./gradlew :wrapper --gradle-version=9.8.0 after fixing deprecation warnings and updating plugins. The changes that break builds most often: the Kotlin DSL now uses Kotlin 2.2, Groovy moved to 4.0, and old APIs such as Project.exec and conventions are gone. Android projects need AGP 8.4.0 or later, and the Kotlin Gradle plugin needs 2.0.0 or later.

Version pairings for Android and Kotlin

From Gradle’s upgrade guide and compatibility matrix and Google’s AGP release notes, read 1 October 2026.

ComponentRequirement
Java to run Gradle 9JVM 17 or later; 9.8.0 supports up to Java 27
Android Gradle pluginAt least 8.4.0 on Gradle 9; AGP 9.0 needs Gradle 9.1.0, AGP 9.4 needs Gradle 9.6.0
Kotlin Gradle pluginAt least 2.0.0; Gradle 9.8 is tested up to Kotlin 2.4.20-RC2
Kotlin DSL scriptsKotlin 2.2 language version
Groovy DSL scriptsGroovy 4.0
Gradle wrapper, Tooling APIStill start on JVM 8, but the build itself needs JVM 17

Before you upgrade

Gradle’s guide recommends running gradle help --scan and opening the deprecations view, or gradle help --warning-mode=all in the console, then fixing what it reports on 8.14. Update every plugin next, since major releases remove public APIs and the latest plugin versions are the most likely to be ready. Then change the wrapper and run the build. If you build Android apps, line up versions first: the Android Gradle plugin must be 8.4.0 or later, and if you go to AGP 9 at the same time, read the AGP 9 migration, which brings its own breaking changes.

Breaking changes that hit app builds

Java 17 for the daemon: set JAVA_HOME or the IDE’s Gradle JDK to 17 or newer; use toolchains if your code targets older Java. Kotlin DSL on Kotlin 2.2: labels such as this@Build_gradle no longer work, so use project, settings or gradle, and stricter nullability from JSpecify annotations can surface new compile errors in build logic. Groovy 4: some classes moved packages, and closure lookups can behave differently. Removed APIs: Project.exec and Project.javaexec, the conventions API and other long-deprecated pieces are gone. Behavior: archive tasks such as Jar and Zip are reproducible by default, and a custom Test task without configured test classes now runs no tests silently instead of reusing the main test source set.

Kotlin Multiplatform and plugin authors

KMP builds need a Kotlin Gradle plugin of 2.0.0 or later, and Gradle 9.8 is tested up to Kotlin 2.4.20-RC2; the latest Kotlin is covered in Kotlin 2.4 and 2.4.20. If you publish Gradle plugins, a plugin built with the Kotlin DSL on Gradle 9 only runs on Gradle 8.11 and newer, and a Groovy DSL plugin built on Gradle 9 needs Gradle 7.0 or newer. To support older Gradle versions, keep building that plugin with Gradle 8.x.

What Gradle 9.8.0 adds

Released on September 29, 2026, Gradle 9.8.0 supports Java 27 for both the daemon and toolchains, can reuse Maven’s mirror settings so teams configure an internal mirror once, makes file, object and process services available directly in scripts and task actions, and lets the Maven Publish plugin skip regenerating an unchanged POM. It also improves build failure output and Windows performance. Gradle notes that some third-party tools, such as PMD, don’t support Java 27 yet.

Where Censuus fits

A healthy build keeps releases flowing; being found brings people to them. Censuus ranks apps by the visits they draw, and adding your app is free through the List my app form. Placement comes from traffic and sponsorship: apps climb on the visits they draw, and a sponsor can pay to rise higher.

Frequently asked questions

What Java version does Gradle 9 need?

Java 17 or later to run the Gradle daemon. Gradle 9.8.0 runs on JVM 17 through 27, and toolchains let your code target older Java versions.

What is the latest Gradle version?

Gradle 9.8.0, released on September 29, 2026.

Which Android Gradle plugin works with Gradle 9?

AGP 8.4.0 or later. AGP 9.0 itself requires Gradle 9.1.0, and AGP 9.4 requires Gradle 9.6.0.

How do I upgrade to Gradle 9?

Fix deprecation warnings on Gradle 8.14, update your plugins, then run ./gradlew :wrapper --gradle-version=9.8.0 and build.

Why did my custom test task stop running tests on Gradle 9?

Gradle 9 removed the convention that let a Test task reuse the test source set. Configure testClassesDirs and classpath on the task explicitly.

Can I still use Project.exec in Gradle 9?

No. Project.exec and Project.javaexec were deprecated in Gradle 8.11 and removed in 9.0.0, together with their counterparts in build, settings and init scripts.

Guides for app developers

Put your app in the ranking

Censuus ranks apps by the visits they draw and by sponsorship, no bots. Listing is free; sponsorship raises placement.