数据绑定无法添加到我的项目中

时间:2018-07-06 13:29:12

标签: android android-support-library android-databinding

在我的Android项目中,我需要启用模块级别build.gradle中的dataBinding库,如下所示,但这会给我图像中的错误。怎么解决呢?

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    buildToolsVersion "27.0.2"

    defaultConfig {
        applicationId "com.nasser.studio.multipledeletelistview"
        minSdkVersion 14
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    dataBinding{
        enabled = true
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:27.0.2'
    compile 'com.codesgood:justifiedtextview:1.0.2'
}

enter image description here

编辑1。

我已经更改了项目级别的build.gradle以添加support-v4库,但是现在它抛出以下错误:

repositories {
    google()
    jcenter()
    configurations.all {
        resolutionStrategy.force "com.android.support:support-v4:27.0.2"
    }
}

enter image description here

3 个答案:

答案 0 :(得分:0)

您使用的第三方库或SDK中的一个依赖于support version 21.0.3.要么删除它,要么在您的Gradle中包含resolutionStrategy

configurations.all {
    resolutionStrategy { 
        force ....

    }
}

答案 1 :(得分:0)

  1. 尝试升级您的android gradle插件。
  2. 手动将compile "com.android.support:support-v4:27.0.2"添加到gradle文件中。

那应该可以解决您的问题。

答案 2 :(得分:-1)

这不是数据绑定错误,只是说所有与支持相关的库都应使用相同的版本。例如,查看我的gradle文件:

    implementation "com.android.support:recyclerview-v7:$libraries.googleSupportVersion"
    implementation "com.android.support:appcompat-v7:$libraries.googleSupportVersion"
    implementation "com.android.support:support-v13:$libraries.googleSupportVersion"
    implementation "com.android.support:design:$libraries.googleSupportVersion"
    implementation "com.android.support:cardview-v7:$libraries.googleSupportVersion"
    implementation 'com.android.support.constraint:constraint-layout:1.1.1'

我的支持库版本为:

ext.libraries = [
    ...
    googleSupportVersion : '27.1.1',
    ...
]

您的问题似乎是compile 'com.codesgood:justifiedtextview:1.0.2'在内部使用的支持库的版本与您使用的版本不同。但是您的版本已完全更新,我不会为了使其与其他版本相匹配而将其降级,无论如何您都可以添加:

allprojects {
    configurations.all {
        resolutionStrategy.force "com.android.support:support-v4:27.0.2"
    }
}

在您的项目gradle中。您也可以在Android Studio控制台中运行gradlew app:dependencies,在输出上执行Ctrl + F,搜索该com.android.support:support-v4:27.0.2,然后找出要输入的内容。 (您对我所看到的内容只有一种依赖性,因此,IT应该从何而来就没有多少科学知识了)

让我知道这是否对您有用。