Library versions

  • Google Play services libraries are now individually maintained, allowing for faster and more frequent updates to individual components.

  • Strict version matching is crucial as library versions might be incompatible, and the Google Services Gradle plugin and the standalone strict-version-matcher-plugin help manage these dependencies.

  • The strict-version-matcher-plugin offers a way to ensure version compatibility for Google Play services and Firebase dependencies, even without using the Google Services plugin.

  • To utilize the standalone plugin, you need to add it to your buildscript classpath and apply it in your Gradle file using the provided code snippets.

As of version 15.0.0, the Google Play services libraries are maintained individually, allowing the development teams for each library to ship fixes and enhancements independently and more quickly. You can track the latest releases for Google Play services and Firebase.

Strict version matching

A version of one library might be incompatible with a specific version of another library. To help handle this situation, several Gradle plugins provide guidance for these version mismatches. The logic in these plugins is similar to the logic in a failOnVersionConflict() rule for a ResolutionStrategy that's associated with Google Play services and Firebase dependencies.

Google services plugin

The Google Services Gradle plugin checks for compatible versions of Google Play services and Firebase libraries.

Standalone version matcher plugin

If you're not using the Google Services plugin, but you still want strict version checking of your dependencies, you can apply the strict-version-matcher-plugin. You can view this plugin's code on GitHub.

The following code snippet shows how to add the Gradle plugin:

Kotlin DSL

build.gradle.kts

plugins {
    id("com.google.android.gms.strict-version-matcher-plugin")
}

Groovy DSL

build.gradle

apply plugin: 'com.google.android.gms.strict-version-matcher-plugin'

To use this plugin, you also need to add the following to your buildscript classpath, obtained from Google's Maven repository:

Kotlin DSL

build.gradle.kts

classpath("com.google.android.gms:strict-version-matcher-plugin:1.2.4")

Groovy DSL

build.gradle

classpath 'com.google.android.gms:strict-version-matcher-plugin:1.2.4'