我正在尝试将 ViewModel 和 LiveData 添加到 Kotlin 应用程序。我在模块的 build.gradle
中添加了以下依赖项:
implementation "android.arch.lifecycle:extensions:1.1.1"
kapt "android.arch.lifecycle:compiler:1.1.1"
testImplementation "android.arch.core:core-testing:1.1.1"
我收到以下错误:
Android dependency 'android.arch.lifecycle:runtime' has different version for the compile (1.0.0) and runtime (1.1.1) classpath. You should manually set the same version via DependencyResolution
删除第一行(extensions
)解决了这个问题,表明错误来自那里,但我不知道为什么。
最佳答案
正如@RedBassett 提到的,支持库依赖于这个轻量级导入(运行时库),如 android developers documentation 中所述。 .
这是,由于内部 api(传递)导入,android.arch.lifecycle:runtime:1.0.0 在依赖树中传播,所以在我的情况下,我只需将扩展库包含为“api”而不是“实现”,以便它将其版本覆盖到最高版本(1.1.1)。
总之,改变
implementation "android.arch.lifecycle:extensions:1.1.1"
到
api "android.arch.lifecycle:extensions:1.1.1"
关于Android 架构组件 : Gradle sync error for dependency version,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50012822/