Android Architecture Components: Gradle Sync Error For Dependency Version


Answer :

As @RedBassett mentions Support libraries depends on this lightweight import (runtime library) as explained at android developers documentation.

This is, android.arch.lifecycle:runtime:1.0.0 is spreading up in the dependency tree as a result of an internal api (transitive) import so in my case I only had to include extensions library as "api" instead of "implementation" so that it will override its version to the highest (1.1.1).

In conclusion, change

implementation "android.arch.lifecycle:extensions:1.1.1" 

to

api "android.arch.lifecycle:extensions:1.1.1" 

In your main build.gradle file

allprojects {     ...      configurations {         all {             resolutionStrategy {                 force "android.arch.lifecycle:runtime:1.1.1"             }         }     }  } 

This will enforce version 1.1.1


Apparently support-v4 was causing the conflict. In the case of this question, the Gradle dependency task wasn't working correctly, but for anyone else who runs into this issue:

./gradlew :app:dependencies will show the sub-dependencies used by your dependencies. Search the output of this command (changing app for your module name) for the dependency causing the conflict.


Comments

Popular posts from this blog

Converting A String To Int In Groovy

"Cannot Create Cache Directory /home//.composer/cache/repo/https---packagist.org/, Or Directory Is Not Writable. Proceeding Without Cache"

Android How Can I Convert A String To A Editable