Android Gradle Plugin 8.6.0 (August 2024)

Android Gradle Plugin 8.6.0 is a major release that includes a variety of new features and improvements.

Compatibility

The maximum API level that Android Gradle plugin 8.6 supports is API level 35. Here is other compatibility info:

Minimum version Default version Notes
Gradle 8.7 8.7 To learn more, see updating Gradle.
SDK Build Tools 34.0.0 34.0.0 Install or configure SDK Build Tools.
NDK N/A 26.1.10909125 Install or configure a different version of the NDK.
JDK 17 17 To learn more, see setting the JDK version.

Fixed issues

Android Gradle plugin 8.6.0

Fixed Issues
Android Gradle Plugin
AGP 7.0.0-alpha10 regression: Failed to apply plugin 'com.android.internal.library' when databinding is enabled
Errors when running lint with and without K2 UAST
Manifest not generated for Variant's androidTest configuration
AGP 8.4 tries to set up Startup Profiles on debug builds
[Koala 2024.1.2 Canary 2] Error running a baseline profile module on a split APK
Clean up / remove ProjectInfo
Update outdated kdoc for `isIncludeAndroidResources` in AGP DSL
Lint uses res directory without adding task dependency
AGP 8.5: Many more "mergeDebugResources" tasks are run, slowing down builds
Adding srcs dir via Variant API not working as expected
Dexer (D8)
Update API database to Android 15 (API level 35)
java.lang.VerifyError: Verifier rejected class com.pax.log.LogUtils: java.lang.StackTraceElement com.pax.log.LogUtils.getCaller(com.pax.log.b, java.lang.StackTraceElement[], int) failed to verify
Lint
Lint does not call visitAnnotationUsage for usages of annotated annotations
UnknownNullness lint error when using type-use annotations
[library desugar] lint shows false positive warning NewApi warnings with desugaring enabled
Credential Manager Lint warning incorrect on Wear
Lint: SetTextI18n complains about assigning an empty string.
Lint Integration
Lint tasks fails with included build
Shrinker (R8)
[r8 8.5]r8 horizontal class merge causes verify error on Android5 when disable api modeling
A Wear OS release built with Gradle Plugin 8.4.0/8.5.0 may cause java.lang.IllegalAccessError
R8 implicitly replaces an empty member clause with a match of ()
[r8 8.5] vertical class merger causing runtime NPE
R8 Processing Error Possibly Due to Right Shift Operator
R8 (AGP 8.5.0+) fails with error "Unexpected rewriting of item: ... to two distinct items:..."
The dex file generated by R8 shows "Unable to find static main(String[]) in 'Test'" when executed
Different Behavior Between Programs packed by R8 and D8
R8 NullPointer after updating to Kotlin 2.0

Android Gradle plugin 8.6.1

Fixed Issues
Dexer (D8)
Dexing task/transform generates non-deterministic classes.dex contents
Shrinker (R8)
R8 8.5.x StackOverflowError in SimpleInliningConstraintAnalysis
Task :xxxx:minifyXXXReleaseWithR8 ERROR: R8: java.util.ConcurrentModificationException
java.lang.NullPointerException: Cannot invoke "com.android.tools.r8.ir.analysis.type.TypeElement.asClassType()"