AI-generated Key Takeaways
-
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'