首页 > 解决方案 > 我使用最新的 Android Studio 4.1.2 版本(Android Gradle 插件 4.1.2)我在添加生命周期库(用于 DataBinding)时遇到问题

问题描述

我在将生命周期库(用于 DataBinding)添加到我的项目和 .

实现 'android.arch.lifecycle:extensions:2.1.0' 实现 'androidx.lifecycle:lifecycle-extensions:2.2.0'

错误 Gradle:任务“:app:dataBindingMergeDependencyArtifactsDebug”的执行失败。

无法解析配置 ':app:debugCompileClasspath' 的所有文件。找不到生命周期-extensions-2.2.0.aar (androidx.lifecycle:lifecycle-extensions:2.2.0)。

请帮我。谢谢

标签: androiddata-bindingandroid-lifecycle

解决方案


android要在您的项目中启用数据绑定,只需在应用级 gradle 文件中的块内添加以下代码。启用数据绑定不需要其他任何东西。这已经足够了。添加后,同步您的项目并单击 Android Studio 中的File菜单,然后单击Invalidate Caches and Restart,然后您应该能够使用数据绑定。

android 
{

    ...

    buildFeatures {
        dataBinding true
    }
}

其次请注意,官方 APIlifecycle-extensions已被弃用。相反,请从以下列表中为您需要的特定生命周期工件添加依赖项。不需要添加以下所有依赖项,您可以根据您的要求仅添加特定的依赖项。

dependencies {
    def lifecycle_version = "2.2.0"
    def arch_version = "2.1.0"

    // ViewModel
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
    // LiveData
    implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
    // Lifecycles only (without ViewModel or LiveData)
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"

    // Saved state module for ViewModel
    implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version"

    // Annotation processor
    kapt "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
    // alternately - if using Java8, use the following instead of lifecycle-compiler
    implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"

    // optional - helpers for implementing LifecycleOwner in a Service
    implementation "androidx.lifecycle:lifecycle-service:$lifecycle_version"

    // optional - ProcessLifecycleOwner provides a lifecycle for the whole application process
    implementation "androidx.lifecycle:lifecycle-process:$lifecycle_version"

    // optional - ReactiveStreams support for LiveData
    implementation "androidx.lifecycle:lifecycle-reactivestreams-ktx:$lifecycle_version"

    // optional - Test helpers for LiveData
    testImplementation "androidx.arch.core:core-testing:$arch_version"
}

推荐阅读