Android ViewModel与appCompat v27.0.0

时间:2017-11-16 10:32:24

标签: android android-architecture-components

我正在尝试在具有最新com.android.support:appcompat-v7:27.0.0的项目中使用Android架构组件ViewModel。 appcompat已包含android.arch.lifecycle:runtime:1.0.3android.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"
}

但这不是最终的解决方案。我错过了什么?

1 个答案:

答案 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