Привязка данных не может быть добавлена ​​в мой проект - PullRequest
0 голосов
/ 06 июля 2018

В моем проекте Android мне нужно было включить библиотеку dataBinding на уровне модуля build.gradle, как показано ниже, но она выдает ошибку в изображении. Как можно решить это?

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 голосов
/ 06 июля 2018

Это не ошибка привязки данных, это просто говорит о том, что все ваши библиотеки поддержки должны использовать одну и ту же версию. Например, посмотрите на мой файл 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. Вы также можете запустить gradlew app:dependencies в консоли Android Studio, выполнить Ctrl + F на выходе, найти этот com.android.support:support-v4:27.0.2 и выяснить, откуда он идет. (У вас есть только одна зависимость от того, что я вижу, поэтому не так много информации о том, откуда ИТ должны поступать)

Дайте мне знать, если это работает для вас.

0 голосов
/ 06 июля 2018
  1. Попробуйте обновить плагин для Android.
  2. Добавьте compile "com.android.support:support-v4:27.0.2" вручную в файл Gradle.

Это должно решить твою проблему.

0 голосов
/ 06 июля 2018

одна из ваших сторонних библиотек или sdk, которые вы используете, полагается на support version 21.0.3. Либо удалите ее, либо добавьте resolutionStrategy в свой Gradle.

configurations.all {
    resolutionStrategy { 
        force ....

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...