web-dev-qa-db-fra.com

Gradle n'a pas pu trouver com.Android.databinding: dataBinder: 1.0-rc0

Lorsque je vais sur le Guide de liaison de données Android à partir de https://developer.Android.com/tools/data-binding/guide.html . Je me suis assuré que je suis sous Android Studio 1.3 (version canarienne).

En suivant les instructions, j’obtiens cette erreur:

Gradle sync failed: could not find com.Android.databinding:library:1.0-rc0

Quelqu'un at-il le même problème? Merci de votre aide.

App build.gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:1.3.0-beta1'
        classpath "com.Android.databinding:dataBinder:1.0-rc0"
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

Module build.graddle

apply plugin: 'com.Android.application'
apply plugin: 'com.Android.databinding'

apply plugin: 'Android-apt'
def AAVersion = '3.3'
def MyProject = 'com.commonsware.Android.frw.filesdemo'

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.neenbedankt.gradle.plugins:Android-apt:1.4'
    }
}

repositories {
    mavenCentral()
}

apt {
    arguments {
        androidManifestFile variant.outputs[0].processResources.manifestFile
        resourcePackageName "$MyProject"
    }
}

Android {
    compileSdkVersion 22
    buildToolsVersion "22"

    defaultConfig {
        applicationId "$MyProject"
        minSdkVersion 17
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions{
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/services/com.fasterxml.jackson.core.JsonFactory'
    }

    dexOptions {
        preDexLibraries = false
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.Android.support:appcompat-v7:22.0.0'

    compile "com.squareup:otto:1.3.6"
    compile "commons-io:commons-io:+"
    compile 'com.fasterxml.jackson.jr:jackson-jr-all:2.5.0'
    compile 'com.astuetz:pagerslidingtabstrip:1.0.1'

    apt "org.androidannotations:androidannotations:$AAVersion"
    compile "org.androidannotations:androidannotations-api:$AAVersion"
}
21
Juan Mendez

J'ai eu ce problème et l'a résolu en ajoutant "jcenter" sous allprojects.repositories dans mon build.gradle de niveau supérieur (j'avais déjà utilisé mavenCentral).

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:1.3.0'
        classpath 'com.Android.databinding:dataBinder:1.0-rc1'
    }
}

allprojects {
    repositories {
        mavenCentral()
        jcenter() // <=== *** Adding this fixed it ***
    }
}
16
DataGraham

J'ai des erreurs lorsque je synchronise les fichiers build.gradle.

Erreur: Impossible de résoudre: com.Android.databinding: bibliothèque: 1.0-rc0

Erreur: Impossible de résoudre: com.Android.databinding: adapters: 1.0-rc0

Et j'ai enfin trouvé la solution.

dependencies {

    // instead of the below pathes...
    //classpath "com.Android.tools.build:gradle:1.3.0-beta2"
    //classpath "com.Android.databinding:dataBinder:1.0-rc0"

    // I used the following classpathes.... It works!
    classpath "com.Android.tools.build:gradle:1.3.+"
    classpath "com.Android.databinding:dataBinder:1.+"

}
9
pretty angela

En regardant votre erreur Gradle couldn't find com.Android.databinding:dataBinder:1.0-rc0, vous devriez plutôt essayer ceci,

classpath "com.Android.databinding:dataBinder:1.0-rc1"

Pour utiliser DataBinding, suivez toutes ces étapes.

  1. Mettez à jour votre Android Studio vers la version Android Studio 1.3.
  2. Pour que votre application puisse utiliser data binding, ajoutez data binding au chemin de classe de votre fichier top-levelbuild.gradle, Juste en dessous de "Android".

    dependencies {
       classpath "com.Android.tools.build:gradle:1.3"
       classpath "com.Android.databinding:dataBinder:1.0-rc1"
    }
    
  3. Assurez-vous ensuite que jcenter figure dans la liste des référentiels de vos projets dans le fichier build.gradle de niveau supérieur.

    allprojects {
       repositories {
           jcenter()
       }
    }
    
  4. Dans chaque module pour lequel vous souhaitez utiliser la liaison de données, appliquez le plug-in à droite, après le plug-in Android.

    apply plugin: 'com.Android.application'
    apply plugin: 'com.Android.databinding'
    
  5. Clean et build votre application.

Code complet

top-levelbuild.gradle fichier,

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:1.3'
        classpath "com.Android.databinding:dataBinder:1.0-rc1"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

module-levelbuild.gradle fichier,

apply plugin: 'com.Android.application'
apply plugin: 'com.Android.databinding'

Android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.example.packagename"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.Android.support:appcompat-v7:22.2.1'
}

Pour plus de détails Guide de liaison de données .

Pour une démo complète Liaison de données Android

6
Jaydipsinh Zala

Assurez-vous que vous avez Android Studio 1.3 ou supérieur

Votre projet build.gradle devrait ressembler à ceci:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:1.3.0-beta1'
        classpath "com.Android.databinding:dataBinder:1.0-rc0"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

Et votre module build.gradle devrait ressembler à ceci:

apply plugin: 'com.Android.application'
apply plugin: 'com.Android.databinding'

Android {

    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.my.appId"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

}

J'ai eu un problème où je visais M Preview et rien n'a fonctionné. Une fois que j'ai modifié les outils de génération en 22.0.1 et le targetSdkVersion en 22, tout fonctionnait.

3
Gil Moshayof

J'ai eu le même problème et l'ai résolu en mettant à jour les outils Android SDK vers 24.3.3.

3
Ygritte

Comme le dit la documentation 

Pour utiliser la liaison de données, Android Plugin for Gradle 1.5.0-alpha1 ou supérieur est requis.

J'ai ajouté la ligne suivante au projet build.gradle: 

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "com.Android.tools.build:gradle:1.5.0-beta2"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

puis ajoutez le: 

dataBinding {
        enabled = true
    }

à votre application de module build.graddle comme ceci: 

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "gujarat.databinding"
        minSdkVersion 16
        targetSdkVersion 23
        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:23.1.1'
    compile 'com.Android.support:support-v4:23.1.1'
}
2
Gujarat Santana

J'ai eu un problème identique, et résolu en supprimant le plugin pour Android-apt. Pas sûr de ce qui est en conflit là-bas, mais quelque chose est.

1
LukeWaggoner

Vous devriez mettre à jour votreSDKet cela résoudra ce problème.

1
user6582389

Essayez de changer le chemin de classe en 'com.Android.tools.build:gradle:1.3.0-beta2' et définissez buildToolsVersion "23 rc2".

N'oubliez pas de mettre à jour les packages SDK via le gestionnaire de SDK avant de le faire.

Vous trouverez ici plus d’informations sur Android Preview SDK: Configurer le Preview SDK

1
Vladimir Maskov

Mise à jour pour le dernier Android Studio et le dernier Gradle

Vous n'avez pas besoin d'ajouter la dépendance databinding:dataBinder maintenant. Activez simplement dataBinding dans le niveau d'application build.gradledans la balise Android.

Android
{
...
    dataBinding {
        enabled = true
    }
...
}
0
Khemraj