# Android Gradle Plugin changelog > Android's Gradle build system, versioned independently of Android Studio. - Vendor: Google - Category: Developer Tools - Official site: https://developer.android.com/build/releases/gradle-plugin - Tracked by: What's New (https://whatsnew.fyi/product/android-gradle-plugin) - Harvested from: Registry (maven: com.android.tools.build:gradle) - Entries below: 25 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## Releases ### 9.5.0-alpha08 - Date: 2026-10-01 - Version: 9.5.0-alpha08 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.5.0-alpha08 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.5.0-alpha08 - Labels: Pre-release ### 9.5.0-alpha07 - Date: 2026-09-24 - Version: 9.5.0-alpha07 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.5.0-alpha07 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.5.0-alpha07 - Labels: Pre-release ### 9.4.1 - Date: 2026-09-18 - Version: 9.4.1 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.4.1 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.4.1 ### 9.5.0-alpha06 - Date: 2026-09-17 - Version: 9.5.0-alpha06 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.5.0-alpha06 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.5.0-alpha06 - Labels: Pre-release ### 9.3.3 - Date: 2026-09-17 - Version: 9.3.3 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.3.3 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.3.3 - **fixed** — AGP 9.3.0's new optimization { enable = true } DSL does not set isMinifyEnabled in the ApplicationVariant object - **fixed** — D8 9.2.14 is ~38% slower than 8.13.6 in mergeProjectDexDebug on identical input/output - **fixed** — D8 debug mode: ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 31 - **fixed** — VerifyError: Outliner incorrectly extends try-catch region, causing uninitialized register - **fixed** — R8 writes .kotlin_module file with : in its name, producing a filename invalid on Windows - **fixed** — R8 build non-determinism: identical input produces different dex/mapping - **fixed** — Duplicate mapping with R8 9.1 - **fixed** — AGP intermittently produces dex files that fail verification and crash app on launch - **fixed** — NullPointerException: Cannot invoke Position.getOutermostCaller() because entryPosition is null - **fixed** — High per-rule memory consumption - **fixed** — R8: VerifyError on Android 4.4 Fixed Issues **Android Gradle Plugin** [Issue #556343682](https://issuetracker.google.com/issues/556343682) AGP 9.3.0's new optimization { enable = true } DSL does not set isMinifyEnabled in the ApplicationVariant object **Dexer (D8)** [Issue #558810278](https://issuetracker.google.com/issues/558810278) D8 9.2.14 is \~38% slower than 8.13.6 in \`mergeProjectDexDebug\` on identical input/output **Shrinker (R8)** [Issue #545349635](https://issuetracker.google.com/issues/545349635) D8 debug mode: ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 31 --- regression between R8 8.8.34 and 8.9.27 [Issue #551348855](https://issuetracker.google.com/issues/551348855) VerifyError: Outliner incorrectly extends try-catch region, causing uninitialized register [Issue #543685256](https://issuetracker.google.com/issues/543685256) R8 writes \`.kotlin_module\` file with \`:\` in its name, producing a filename invalid on Windows [Issue #554586985](https://issuetracker.google.com/issues/554586985) R8 build non-determinism: identical input produces different dex/mapping (regression from "Retain Assume instructions in LIR") [Issue #522844908](https://issuetracker.google.com/issues/522844908) Duplicate mapping with R8 9.1 [Issue #485558707](https://issuetracker.google.com/issues/485558707) AGP intermittently produces dex files that fail verification and crash app on launch [Issue #514117718](https://issuetracker.google.com/issues/514117718) NullPointerException: Cannot invoke Position.getOutermostCaller() because entryPosition is null [Issue #539672118](https://issuetracker.google.com/issues/539672118) High per-rule memory consumption [Issue #506912893](https://issuetracker.google.com/issues/506912893) R8: VerifyError on Android 4.4 ### 9.5.0-alpha05 - Date: 2026-09-10 - Version: 9.5.0-alpha05 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.5.0-alpha05 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.5.0-alpha05 - Labels: Pre-release ### 9.5.0-alpha04 - Date: 2026-09-03 - Version: 9.5.0-alpha04 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.5.0-alpha04 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.5.0-alpha04 - Labels: Pre-release ### 9.4.0 - Date: 2026-09-01 - Version: 9.4.0 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.4.0 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.4.0 - **added** — Support for API level 37 as the maximum API level - **changed** — Minimum Gradle version requirement is now 9.6.0 - **changed** — Default SDK Build Tools version is now 36.0.0 - **changed** — Default NDK version is now 28.2.13676358 - **added** — Variant API module opt-out capability via android.newDsl.optOut in gradle.properties for temporary migration support before AGP 10 - **added** — Build system now checks for strict 1:1 flavor dimension parity between Android app modules and dynamic feature modules, reporting mismatches as warnings by default - **added** — android.enforceDynamicFeatureVariantMatching Gradle option to promote variant parity dimension mismatches to execution errors Android Gradle plugin 9.4 is a minor release that includes a variety of new features and improvements. ##### Compatibility The maximum API level that Android Gradle plugin 9.4 supports is API level 37. Here is other compatibility info: | | Minimum version | Default version | Notes | |---:|:---:|:---:|:---:| | Gradle | 9.6.0 | 9.6.0 | To learn more, see [updating Gradle](https://developer.android.com/build/releases/gradle-plugin?buildsystem=ndk-build#updating-gradle). | | SDK Build Tools | 36.0.0 | 36.0.0 | [Install](https://developer.android.com/studio/intro/update#sdk-manager) or [configure](https://developer.android.com/tools/releases/build-tools) SDK Build Tools. | | NDK | N/A | 28.2.13676358 | [Install](https://developer.android.com/studio/projects/install-ndk#specific-version) or [configure](https://developer.android.com/studio/projects/install-ndk#apply-specific-version) a different version of the NDK. | | JDK | 17 | 17 | To learn more, see [setting the JDK version](https://developer.android.com/studio/intro/studio-config#jdk). | ##### Variant API module opt-out Starting with AGP 10, the new Variant API is mandatory for all projects. To support a gradual migration, you can temporarily opt specific modules out of this requirement before AGP 10 by applying the following to your `gradle.properties` file. android.newDsl.optOut=:example-lib1 ##### Strict 1:1 variant parity between dynamic feature and android apps Starting in AGP 9.4, the build system checks for strict 1:1 flavor dimension parity between Android app modules and dynamic feature modules, reporting any missing, extra, or mismatched dimensions as build warnings. To help you prepare for stricter validation without breaking existing build pipelines, this check operates in warning mode by default, but can be promoted to an execution error by enabling the `android.enforceDynamicFeatureVariantMatching=true` Gradle option. From AGP 10.0 onwards, strict 1:1 variant parity will become enforced by default, turning all dimension mismatches between base apps and their dynamic feature modules into fatal build failures. ### 9.5.0-alpha03 - Date: 2026-08-27 - Version: 9.5.0-alpha03 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.5.0-alpha03 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.5.0-alpha03 - Labels: Pre-release ### 9.4.0-rc02 - Date: 2026-08-25 - Version: 9.4.0-rc02 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.4.0-rc02 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.4.0-rc02 - Labels: Pre-release - **added** — Support for API level 37 as the maximum API level - **added** — Variant API module opt-out capability via android.newDsl.optOut gradle property for gradual migration before AGP 10 - **changed** — Minimum Gradle version requirement is now 9.6.0 - **changed** — Minimum SDK Build Tools version is now 36.0.0 - **changed** — Default NDK version is now 28.2.13676358 - **changed** — Minimum JDK version requirement is now 17 - **added** — Build system now checks for strict 1:1 flavor dimension parity between Android app modules and dynamic feature modules, reporting dimension mismatches as build warnings by default Android Gradle plugin 9.4 is a minor release that includes a variety of new features and improvements. ##### Compatibility The maximum API level that Android Gradle plugin 9.4 supports is API level 37. Here is other compatibility info: | | Minimum version | Default version | Notes | |---:|:---:|:---:|:---:| | Gradle | 9.6.0 | 9.6.0 | To learn more, see [updating Gradle](https://developer.android.com/build/releases/gradle-plugin?buildsystem=ndk-build#updating-gradle). | | SDK Build Tools | 36.0.0 | 36.0.0 | [Install](https://developer.android.com/studio/intro/update#sdk-manager) or [configure](https://developer.android.com/tools/releases/build-tools) SDK Build Tools. | | NDK | N/A | 28.2.13676358 | [Install](https://developer.android.com/studio/projects/install-ndk#specific-version) or [configure](https://developer.android.com/studio/projects/install-ndk#apply-specific-version) a different version of the NDK. | | JDK | 17 | 17 | To learn more, see [setting the JDK version](https://developer.android.com/studio/intro/studio-config#jdk). | ##### Variant API module opt-out Starting with AGP 10, the new Variant API is mandatory for all projects. To support a gradual migration, you can temporarily opt specific modules out of this requirement before AGP 10 by applying the following to your `gradle.properties` file. android.newDsl.optOut=:example-lib1 ##### Strict 1:1 variant parity between dynamic feature and android apps Starting in AGP 9.4, the build system checks for strict 1:1 flavor dimension parity between Android app modules and dynamic feature modules, reporting any missing, extra, or mismatched dimensions as build warnings. To help you prepare for stricter validation without breaking existing build pipelines, this check operates in warning mode by default, but can be promoted to an execution error by enabling the `android.enforceDynamicFeatureVariantMatching=true` Gradle option. From AGP 10.0 onwards, strict 1:1 variant parity will become enforced by default, turning all dimension mismatches between base apps and their dynamic feature modules into fatal build failures. ### 9.3.2 - Date: 2026-08-24 - Version: 9.3.2 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.3.2 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.3.2 - **fixed** — AGP 9.3 lint crashes on JDK 17 with NoSuchMethodError in bundled intellij-core JavaDocParser Fixed Issues **Lint** [Issue #522845800](https://issuetracker.google.com/issues/522845800) AGP 9.3 lint crashes on JDK 17 --- NoSuchMethodError: java.util.List.removeLast() in bundled intellij-core JavaDocParser ### 9.5.0-alpha02 - Date: 2026-08-20 - Version: 9.5.0-alpha02 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.5.0-alpha02 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.5.0-alpha02 - Labels: Pre-release ### 9.5.0-alpha01 - Date: 2026-08-17 - Version: 9.5.0-alpha01 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.5.0-alpha01 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.5.0-alpha01 - Labels: Pre-release ### 9.4.0-rc01 - Date: 2026-08-17 - Version: 9.4.0-rc01 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.4.0-rc01 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.4.0-rc01 - Labels: Pre-release - **added** — Support for API level 37 as the maximum API level - **added** — Variant API module opt-out capability via android.newDsl.optOut gradle property to temporarily exempt modules before AGP 10 - **added** — Strict 1:1 flavor dimension parity check between Android app modules and dynamic feature modules, operating in warning mode by default - **changed** — Minimum Gradle version requirement updated to 9.6.0 - **changed** — Minimum SDK Build Tools version requirement updated to 36.0.0 - **changed** — Default NDK version updated to 28.2.13676358 Android Gradle plugin 9.4 is a minor release that includes a variety of new features and improvements. ##### Compatibility The maximum API level that Android Gradle plugin 9.4 supports is API level 37. Here is other compatibility info: | | Minimum version | Default version | Notes | |---:|:---:|:---:|:---:| | Gradle | 9.6.0 | 9.6.0 | To learn more, see [updating Gradle](https://developer.android.com/build/releases/gradle-plugin?buildsystem=ndk-build#updating-gradle). | | SDK Build Tools | 36.0.0 | 36.0.0 | [Install](https://developer.android.com/studio/intro/update#sdk-manager) or [configure](https://developer.android.com/tools/releases/build-tools) SDK Build Tools. | | NDK | N/A | 28.2.13676358 | [Install](https://developer.android.com/studio/projects/install-ndk#specific-version) or [configure](https://developer.android.com/studio/projects/install-ndk#apply-specific-version) a different version of the NDK. | | JDK | 17 | 17 | To learn more, see [setting the JDK version](https://developer.android.com/studio/intro/studio-config#jdk). | ##### Variant API module opt-out Starting with AGP 10, the new Variant API is mandatory for all projects. To support a gradual migration, you can temporarily opt specific modules out of this requirement before AGP 10 by applying the following to your `gradle.properties` file. android.newDsl.optOut=:example-lib1 ##### Strict 1:1 variant parity between dynamic feature and android apps Starting in AGP 9.4, the build system checks for strict 1:1 flavor dimension parity between Android app modules and dynamic feature modules, reporting any missing, extra, or mismatched dimensions as build warnings. To help you prepare for stricter validation without breaking existing build pipelines, this check operates in warning mode by default, but can be promoted to an execution error by enabling the `android.enforceDynamicFeatureVariantMatching=true` Gradle option. From AGP 10.0 onwards, strict 1:1 variant parity will become enforced by default, turning all dimension mismatches between base apps and their dynamic feature modules into fatal build failures. ### 9.4.0-alpha08 - Date: 2026-08-06 - Version: 9.4.0-alpha08 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.4.0-alpha08 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.4.0-alpha08 - Labels: Pre-release - **changed** — Maximum API level supported by Android Gradle plugin increased to API level 37 - **changed** — Minimum Gradle version required is now 9.6.0 - **changed** — Minimum SDK Build Tools version required is now 36.0.0 - **changed** — Default NDK version changed to 28.2.13676358 - **added** — Variant API module opt-out support through android.newDsl.optOut gradle.properties configuration for gradual migration before AGP 10 - **added** — Strict 1:1 variant parity check between dynamic feature and Android app modules with configurable enforcement via android.enforceDynamicFeatureVariantMatching option Android Gradle plugin 9.4 is a minor release that includes a variety of new features and improvements. ##### Compatibility The maximum API level that Android Gradle plugin 9.4 supports is API level 37. Here is other compatibility info: | | Minimum version | Default version | Notes | |---:|:---:|:---:|:---:| | Gradle | 9.6.0 | 9.6.0 | To learn more, see [updating Gradle](https://developer.android.com/build/releases/gradle-plugin?buildsystem=ndk-build#updating-gradle). | | SDK Build Tools | 36.0.0 | 36.0.0 | [Install](https://developer.android.com/studio/intro/update#sdk-manager) or [configure](https://developer.android.com/tools/releases/build-tools) SDK Build Tools. | | NDK | N/A | 28.2.13676358 | [Install](https://developer.android.com/studio/projects/install-ndk#specific-version) or [configure](https://developer.android.com/studio/projects/install-ndk#apply-specific-version) a different version of the NDK. | | JDK | 17 | 17 | To learn more, see [setting the JDK version](https://developer.android.com/studio/intro/studio-config#jdk). | ##### Variant API module opt-out Starting with AGP 10, the new Variant API is mandatory for all projects. To support a gradual migration, you can temporarily opt specific modules out of this requirement before AGP 10 by applying the following to your `gradle.properties` file. android.newDsl.optOut=:example-lib1 ##### Strict 1:1 variant parity between dynamic feature and android apps Starting in AGP 9.4, the build system checks for strict 1:1 flavor dimension parity between Android app modules and dynamic feature modules, reporting any missing, extra, or mismatched dimensions as build warnings. To help you prepare for stricter validation without breaking existing build pipelines, this check operates in warning mode by default, but can be promoted to an execution error by enabling the `android.enforceDynamicFeatureVariantMatching=true` Gradle option. From AGP 10.0 onwards, strict 1:1 variant parity will become enforced by default, turning all dimension mismatches between base apps and their dynamic feature modules into fatal build failures. ### 9.4.0-alpha07 - Date: 2026-07-30 - Version: 9.4.0-alpha07 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.4.0-alpha07 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.4.0-alpha07 - Labels: Pre-release - **added** — Support for API level 37 as the maximum API level - **changed** — Minimum Gradle version requirement updated to 9.6.0 - **changed** — Default SDK Build Tools version updated to 36.0.0 - **changed** — Default NDK version updated to 28.2.13676358 - **added** — Variant API module opt-out capability for gradle.properties using android.newDsl.optOut - **added** — Build system now checks for strict 1:1 flavor dimension parity between Android app modules and dynamic feature modules Android Gradle plugin 9.4 is a minor release that includes a variety of new features and improvements. ##### Compatibility The maximum API level that Android Gradle plugin 9.4 supports is API level 37. Here is other compatibility info: | | Minimum version | Default version | Notes | |---:|:---:|:---:|:---:| | Gradle | 9.6.0 | 9.6.0 | To learn more, see [updating Gradle](https://developer.android.com/build/releases/gradle-plugin?buildsystem=ndk-build#updating-gradle). | | SDK Build Tools | 36.0.0 | 36.0.0 | [Install](https://developer.android.com/studio/intro/update#sdk-manager) or [configure](https://developer.android.com/tools/releases/build-tools) SDK Build Tools. | | NDK | N/A | 28.2.13676358 | [Install](https://developer.android.com/studio/projects/install-ndk#specific-version) or [configure](https://developer.android.com/studio/projects/install-ndk#apply-specific-version) a different version of the NDK. | | JDK | 17 | 17 | To learn more, see [setting the JDK version](https://developer.android.com/studio/intro/studio-config#jdk). | ##### Variant API module opt-out Starting with AGP 10, the new Variant API is mandatory for all projects. To support a gradual migration, you can temporarily opt specific modules out of this requirement before AGP 10 by applying the following to your `gradle.properties` file. android.newDsl.optOut=:example-lib1 ##### Strict 1:1 variant parity between dynamic feature and android apps Starting in AGP 9.4, the build system checks for strict 1:1 flavor dimension parity between Android app modules and dynamic feature modules, reporting any missing, extra, or mismatched dimensions as build warnings. To help you prepare for stricter validation without breaking existing build pipelines, this check operates in warning mode by default, but can be promoted to an execution error by enabling the `android.enforceDynamicFeatureVariantMatching=true` Gradle option. From AGP 10.0 onwards, strict 1:1 variant parity will become enforced by default, turning all dimension mismatches between base apps and their dynamic feature modules into fatal build failures. ### 9.4.0-alpha06 - Date: 2026-07-23 - Version: 9.4.0-alpha06 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.4.0-alpha06 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.4.0-alpha06 - Labels: Pre-release - **added** — Support for API level 37 as the maximum API level - **changed** — Minimum Gradle version requirement updated to 9.6.0 - **changed** — Minimum SDK Build Tools version requirement updated to 36.0.0 - **changed** — Default NDK version updated to 28.2.13676358 - **added** — Variant API module opt-out capability via android.newDsl.optOut in gradle.properties to support gradual migration before AGP 10 - **added** — Strict 1:1 variant parity check between dynamic feature and Android app modules with warning mode by default - **added** — android.enforceDynamicFeatureVariantMatching Gradle option to promote variant parity mismatches to execution errors Android Gradle plugin 9.4 is a minor release that includes a variety of new features and improvements. ##### Compatibility The maximum API level that Android Gradle plugin 9.4 supports is API level 37. Here is other compatibility info: | | Minimum version | Default version | Notes | |---:|:---:|:---:|:---:| | Gradle | 9.6.0 | 9.6.0 | To learn more, see [updating Gradle](https://developer.android.com/build/releases/gradle-plugin?buildsystem=ndk-build#updating-gradle). | | SDK Build Tools | 36.0.0 | 36.0.0 | [Install](https://developer.android.com/studio/intro/update#sdk-manager) or [configure](https://developer.android.com/tools/releases/build-tools) SDK Build Tools. | | NDK | N/A | 28.2.13676358 | [Install](https://developer.android.com/studio/projects/install-ndk#specific-version) or [configure](https://developer.android.com/studio/projects/install-ndk#apply-specific-version) a different version of the NDK. | | JDK | 17 | 17 | To learn more, see [setting the JDK version](https://developer.android.com/studio/intro/studio-config#jdk). | ##### Variant API module opt-out Starting with AGP 10, the new Variant API is mandatory for all projects. To support a gradual migration, you can temporarily opt specific modules out of this requirement before AGP 10 by applying the following to your `gradle.properties` file. android.newDsl.optOut=:example-lib1 ##### Strict 1:1 variant parity between dynamic feature and android apps Starting in AGP 9.4, the build system checks for strict 1:1 flavor dimension parity between Android app modules and dynamic feature modules, reporting any missing, extra, or mismatched dimensions as build warnings. To help you prepare for stricter validation without breaking existing build pipelines, this check operates in warning mode by default, but can be promoted to an execution error by enabling the `android.enforceDynamicFeatureVariantMatching=true` Gradle option. From AGP 10.0 onwards, strict 1:1 variant parity will become enforced by default, turning all dimension mismatches between base apps and their dynamic feature modules into fatal build failures. ### 9.3.1 - Date: 2026-07-23 - Version: 9.3.1 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.3.1 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.3.1 | Fixed Issues || |---|---| | No public issues were marked as fixed in AGP 9.3.1 || ### 9.4.0-alpha05 - Date: 2026-07-16 - Version: 9.4.0-alpha05 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.4.0-alpha05 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.4.0-alpha05 - Labels: Pre-release - **added** — Support for API level 37 as the maximum API level - **added** — Variant API module opt-out capability via android.newDsl.optOut gradle property to defer migration until AGP 10 - **added** — Strict 1:1 variant parity check between dynamic feature and Android app modules, operating in warning mode by default - **added** — android.enforceDynamicFeatureVariantMatching Gradle option to promote dynamic feature variant parity mismatches to execution errors - **changed** — Minimum Gradle version requirement is now 9.6.0 - **changed** — Minimum SDK Build Tools version requirement is now 36.0.0 - **changed** — Default NDK version is now 28.2.13676358 Android Gradle plugin 9.4 is a minor release that includes a variety of new features and improvements. ##### Compatibility The maximum API level that Android Gradle plugin 9.4 supports is API level 37. Here is other compatibility info: | | Minimum version | Default version | Notes | |---:|:---:|:---:|:---:| | Gradle | 9.6.0 | 9.6.0 | To learn more, see [updating Gradle](https://developer.android.com/build/releases/gradle-plugin?buildsystem=ndk-build#updating-gradle). | | SDK Build Tools | 36.0.0 | 36.0.0 | [Install](https://developer.android.com/studio/intro/update#sdk-manager) or [configure](https://developer.android.com/tools/releases/build-tools) SDK Build Tools. | | NDK | N/A | 28.2.13676358 | [Install](https://developer.android.com/studio/projects/install-ndk#specific-version) or [configure](https://developer.android.com/studio/projects/install-ndk#apply-specific-version) a different version of the NDK. | | JDK | 17 | 17 | To learn more, see [setting the JDK version](https://developer.android.com/studio/intro/studio-config#jdk). | ##### Variant API module opt-out Starting with AGP 10, the new Variant API is mandatory for all projects. To support a gradual migration, you can temporarily opt specific modules out of this requirement before AGP 10 by applying the following to your `gradle.properties` file. android.newDsl.optOut=:example-lib1 ##### Strict 1:1 variant parity between dynamic feature and android apps Starting in AGP 9.4, the build system checks for strict 1:1 flavor dimension parity between Android app modules and dynamic feature modules, reporting any missing, extra, or mismatched dimensions as build warnings. To help you prepare for stricter validation without breaking existing build pipelines, this check operates in warning mode by default, but can be promoted to an execution error by enabling the `android.enforceDynamicFeatureVariantMatching=true` Gradle option. From AGP 10.0 onwards, strict 1:1 variant parity will become enforced by default, turning all dimension mismatches between base apps and their dynamic feature modules into fatal build failures. ### 9.3.0 - Date: 2026-07-14 - Version: 9.3.0 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.3.0 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.3.0 - **added** — Standalone R8 Configuration Analyzer Gradle task to run the R8 Configuration Analyzer in isolation without completing the APK or Bundle compilation pipeline - **added** — Updated optimization DSL to configure keep rules for R8 optimization with a new optimization block in build types - **added** — Source sets support for keep rules in src//keepRules/ with .keep file suffix - **changed** — Maximum API level supported increased to API level 37 - **changed** — Minimum Gradle version requirement is now 9.5.0 - **changed** — SDK Build Tools default and minimum version updated to 36.0.0 - **changed** — NDK default version updated to 28.2.13676358 Android Gradle plugin 9.3 is a minor release that includes a variety of new features and improvements. ##### Compatibility The maximum API level that Android Gradle plugin 9.3 supports is API level 37. Here is other compatibility info: | | Minimum version | Default version | Notes | |---:|:---:|:---:|:---:| | Gradle | 9.5.0 | 9.5.0 | To learn more, see [updating Gradle](https://developer.android.com/build/releases/gradle-plugin?buildsystem=ndk-build#updating-gradle). | | SDK Build Tools | 36.0.0 | 36.0.0 | [Install](https://developer.android.com/studio/intro/update#sdk-manager) or [configure](https://developer.android.com/tools/releases/build-tools) SDK Build Tools. | | NDK | N/A | 28.2.13676358 | [Install](https://developer.android.com/studio/projects/install-ndk#specific-version) or [configure](https://developer.android.com/studio/projects/install-ndk#apply-specific-version) a different version of the NDK. | | JDK | 17 | 17 | To learn more, see [setting the JDK version](https://developer.android.com/studio/intro/studio-config#jdk). | ##### Standalone R8 Configuration Analyzer Gradle task Android Gradle plugin 9.3 introduces a dedicated Gradle task for running the [R8 Configuration Analyzer](https://developer.android.com/topic/performance/app-optimization/r8-configuration-analyzer) in isolation. The R8 Configuration Analyzer helps you optimize your app's code shrinking and obfuscation rules. ./gradlew :app:analyzeReleaseR8Config The `:app:analyzeReleaseR8Config` task generates the report without completing the APK or Bundle compilation pipeline. This provides a shorter feedback loop, which speeds up developer iteration when refining keep rules. Alternatively, you can generate the report automatically by running an R8 release build (such as `assembleRelease` or `bundleRelease`). For more information, see [Run the standalone Gradle task for generating report](https://developer.android.com/topic/performance/app-optimization/r8-configuration-analyzer#run-standalone-task). ##### Fixed issues ###### Android Gradle plugin 9.3.0 | Fixed Issues || |---|---| | No public issues were marked as fixed in AGP 9.3.0 || ##### Updated optimization DSL to configure R8 keep rules Introduces an [updated optimization DSL](https://developer.android.com/topic/performance/app-optimization/enable-app-optimization#optimization-dsl) to configure keep rules for R8 optimization, supported by app modules and library module tests. To configure optimization with the updated DSL, use the new `optimization` block. For apps, configure the `optimization` block within a build type (such as `release` or `debug`) in the app-level build script. The updated optimization DSL makes R8 configuration simpler: - Turning on optimization enables both code optimization and optimized resource shrinking. - You no longer need to specify the default Android keep rules file. Note that the [legacy DSL](https://developer.android.com/topic/performance/app-optimization/enable-app-optimization#legacy-optimization-dsl) continues to be supported. ##### Introduction of source sets to define keep rules Place keep rules in the `src//keepRules/` source set, with the file-suffix `.keep`. Source sets for keep rules are supported by the updated optimization DSL and the legacy DSL. Using source sets for keep rules is supported in app modules, library modules, and as a way to define consumer rules in Kotlin Multiplatform (KMP) modules. ### 9.4.0-alpha04 - Date: 2026-07-10 - Version: 9.4.0-alpha04 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.4.0-alpha04 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.4.0-alpha04 - Labels: Pre-release | Fixed Issues || |---|---| | No public issues were marked as fixed in AGP 9.4.0-alpha04 || ### 9.3.0-rc02 - Date: 2026-07-08 - Version: 9.3.0-rc02 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.3.0-rc02 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.3.0-rc02 - Labels: Pre-release | Fixed Issues || |---|---| | No public issues were marked as fixed in AGP 9.3.0-rc02 || ### 9.4.0-alpha03 - Date: 2026-07-02 - Version: 9.4.0-alpha03 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.4.0-alpha03 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.4.0-alpha03 - Labels: Pre-release - **fixed** — L8 obfuscation mapping is now included in app mapping.txt Fixed Issues **Shrinker (R8)** [Issue #146403477](https://issuetracker.google.com/issues/146403477) L8 obfucation mapping not included in app mapping.txt ### 9.4.0-alpha02 - Date: 2026-06-26 - Version: 9.4.0-alpha02 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.4.0-alpha02 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.4.0-alpha02 - Labels: Pre-release - **fixed** — AGP SigningConfig is too eager - **fixed** — Unable to get provider (ClassNotFoundException) when running ./gradlew :app:connectedDebugAndroidTest with a provider defined in a dynamic feature module Fixed Issues **Android Gradle Plugin** [Issue #499166350](https://issuetracker.google.com/issues/499166350) AGP SigningConfig is too eager [Issue #257765153](https://issuetracker.google.com/issues/257765153) "Unable to get provider" (ClassNotFoundException) when running \`./gradlew :app:connectedDebugAndroidTest\` with a provider defined in a dynamic feature module ### 9.4.0-alpha01 - Date: 2026-06-18 - Version: 9.4.0-alpha01 - Original notes: https://deps.dev/maven/com.android.tools.build%3Agradle/9.4.0-alpha01 - Permalink: https://whatsnew.fyi/product/android-gradle-plugin/releases/9.4.0-alpha01 - Labels: Pre-release - **fixed** — AGP SigningConfig is no longer too eager Fixed Issues **Android Gradle Plugin** [Issue #499166350](https://issuetracker.google.com/issues/499166350) AGP SigningConfig is too eager