android - Android 架构组件:依赖版本的 Gradle 同步错误
问题描述
我正在尝试将 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 依赖 'android.arch.lifecycle:runtime' 对于编译(1.0.0)和运行时(1.1.1)类路径有不同的版本。您应该通过 DependencyResolution 手动设置相同的版本
删除第一行 ( extensions
) 解决了这个问题,表明错误来自那里,但我不知道为什么。
解决方案
正如@RedBassett 提到的那样,支持库依赖于这个轻量级导入(运行时库),如android 开发人员文档中所述。
也就是说,由于内部 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"
推荐阅读
- java - Google Chart- Arraylist as data source
- hyperledger-composer - Hyperledger-Composer:如何构建交易处理器功能为参与者发布身份?
- java - EditText Data to be displayed in a recycleview
- arrays - 查找数组子集的最大值和最小值
- postgresql - Redshift - 基于嵌套公用表表达式创建表
- css - Overriding CSS media queries
- airflow - Airflow: Subdag Fails Without Scheduling Tasks or Generating Log
- sql - 如何仅引入自上次 ssis 运行以来已更改的行
- neo4j - Cypher 可变长度模式
- php - 位置:在导致代码中断的文本字段中