Android Gradle Plugin 7.2.0 (May 2022)
Android Gradle plugin 7.2.0 is a major release that includes a variety of new features and improvements.
This minor update corresponds to the release of Android Studio Chipmunk Patch 2 and includes the following bug fixes:
- Issue #232438924: AndroidGradlePlugin version 7.2 breaks transform API when used along with ASM API
- Issue #231037948: AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
This minor update corresponds to the release of Android Studio Chipmunk Patch 1 and includes the following bug fixes:
- Issue #230361284: bundletool does not package baseline profiles correctly
To see the other bug fixes included in this release, see the Android Studio Chipmunk Patch 1 release notes.
Compatibility
Minimum version | Default version | Notes | |
---|---|---|---|
Gradle | 7.3.3 | 7.3.3 | To learn more, see updating Gradle. |
SDK Build Tools | 30.0.3 | 30.0.3 | Install or configure SDK Build Tools. |
NDK | N/A | 21.4.7075529 | Install or configure a different version of the NDK. |
JDK | 11 | 11 | To learn more, see setting the JDK version. |
Jetifier warning and check in Build Analyzer
Build Analyzer now displays a warning if your project's
gradle.properties
file includes
android.enableJetifier=true
. This flag was introduced in a
previous version of Android Studio to enable AndroidX for libraries that don't
support AndroidX natively. However, the library ecosystem has mostly moved to
support AndroidX natively and the Jetifier flag is probably no longer needed by
your project. Additionally, the flag can lead to slower build performance. If
you see this warning, you can run a check within Build Analyzer to confirm if
the flag can be removed.
Support for test fixtures
Starting with Android Studio Chipmunk Beta 1, Android Studio supports both Android and Java test fixtures. See Gradle's guide on using test fixtures{:.external} for more information on the test fixtures feature and how to use it in a Java project.
To enable test fixtures in your Android library module, add the following to
your library-level build.gradle
file:
android {
testFixtures {
enable true
// enable testFixtures's android resources (disabled by default)
// androidResources true
}
}
By default, publishing your library also publishes the test fixtures AAR with
the main library. The Gradle Module Metadata file will contain information for
Gradle to be able to consume the right artifact when requesting the
testFixtures
component.
To disable publishing the test fixtures AAR of a library in the release variant,
add the following to your library-level build.gradle
file:
afterEvaluate {
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseApiPublication) { skip() }
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseRuntimePublication) { skip() }
}
To consume the test fixtures AAR of a published Android library, you can use
Gradle's helper method testFixtures()
.
dependencies {
testImplementation testFixtures('com.example.company:publishedLib:1.0')
}
By default, lint will analyze test fixtures sources. You can configure lint to ignore test fixtures sources as follows:
android {
lint {
ignoreTestFixturesSources true
}
}
Duplicate content roots not supported
Starting with AGP 7.2, you can no longer share the same source directory across multiple source sets. For example, you can't use the same test sources for both unit tests and instrumentation tests. To learn more, see Change the default source sets configurations.