Android Gradle Plugin 3.5.0 (August 2019)

Android Gradle plugin 3.5.0, along with Android Studio 3.5, is a major release and a result of Project Marble, which is a focus on improving three main areas of the Android developer tools: system health, feature polish, and fixing bugs. Notably, improving project build speed was a main focus for this update.

For information about these and other Project Marble updates, read the Android Developers blog post or the sections below.

This version of the Android plugin requires the following:

3.5.4 (July 2020)

This minor update supports compatibility with new default settings and features for package visibility in Android 11.

See the 4.0.1 release notes for details.

3.5.3 (December 2019)

This minor update supports Android Studio 3.5.3 and includes various bug fixes and performance improvements.

3.5.2 (November 2019)

This minor update supports Android Studio 3.5.2 and includes various bug fixes and performance improvements. To see a list of noteable bug fixes, read the related post on the Release Updates blog.

3.5.1 (October 2019)

This minor update supports Android Studio 3.5.1 and includes various bug fixes and performance improvements. To see a list of noteable bug fixes, read the related post on the Release Updates blog.

Incremental annotation processing

The Data Binding annotation processor supports incremental annotation processing if you set android.databinding.incremental=true in your gradle.properties file. This optimization results in improved incremental build performance. For a full list of optimized annotation processors, refer to the table of incremental annotation processors.

Additionally, KAPT 1.3.30 and higher also support incremental annotation processors, which you can enable by including kapt.incremental.apt=true in your gradle.properties file.

Cacheable unit tests

When you enable unit tests to use Android resources, assets, and manifests by setting includeAndroidResources to true, the Android Gradle plugin generates a test config file containing absolute paths, which breaks cache relocatability. You can instruct the plugin to instead generate the test config using relative paths, which allows the AndroidUnitTest task to be fully cacheable, by including the following in your gradle.properties file:

      android.testConfig.useRelativePath = true
    

Known issues

  • When using Kotlin Gradle plugin 1.3.31 or earlier, you might see the following warning when building or syncing your project:

              WARNING: API 'variant.getPackageLibrary()' is obsolete and has been replaced
                      with 'variant.getPackageLibraryProvider()'.
              
            

    To resolve this issue, upgrade the plugin to version 1.3.40 or higher.