我正在尝试在具有最新com.android.support:appcompat-v7:27.0.0
的项目中使用Android架构组件ViewModel。 appcompat已包含android.arch.lifecycle:runtime:1.0.3
和android.arch.lifecycle:compiler:1.0.0
的所有内容。但是,它似乎不包含例如包含android.arch.lifecycle:extensions:1.0.0
类的ViewModel
。仍然没有版本1.0.3的扩展,但如果我尝试使用1.0.0我得到以下错误:
错误:任务':app:preReleaseBuild'的执行失败。 Android依赖项'android.arch.lifecycle:runtime'具有不同版本的编译(1.0.0)和运行时(1.0.3)类路径。您应该通过DependencyResolution手动设置相同的版本
我可以解决这个问题:
implementation ("android.arch.lifecycle:extensions:1.0.0"){
exclude module: "runtime"
}
但这不是最终的解决方案。我错过了什么?
答案 0 :(得分:0)
LiveData,ViewModel,Room和Paging Library所有这些库都是android体系结构组件的一部分。这些库都不是支持库的一部分。
要将架构组件添加为gradle文件的依赖项,您需要单独添加它们以及它们的关联注释处理器
// Architecture Components
compile 'android.arch.persistence.room:runtime:1.0.0'
annotationProcessor 'android.arch.persistence.room:compiler:1.0.0'
compile 'android.arch.lifecycle:extensions:1.0.0'
annotationProcessor 'android.arch.lifecycle:compiler:1.0.0'
有关详细文档,请参阅官方文档adding architecture components to your project