Gradle couldn't find com.android.databinding:dataBinder:1.0-rc0-ThrowExceptions

Exception or error:

This is an old question which is irrelevant today. See Android developer’s instruction. Applying Databinding to your projects is a lot easier now than four years ago.

As I am going over Android Data binding Guide from https://developer.android.com/tools/data-binding/guide.html. I have made sure I am running Android Studio 1.3 (canary version).

Following the guidelines, I get this error:

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

Has anyone else have the same problem? Thanks for your help.

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"
}
How to solve:

I had this problem and solved it by adding “jcenter” under allprojects.repositories in my top-level build.gradle (I had been using 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 ***
    }
}

###

I got errors when I sync build.gradle files.

Error:Failed to resolve: com.android.databinding:library:1.0-rc0

Error:Failed to resolve: com.android.databinding:adapters:1.0-rc0

And I finally found the 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.+"

}

###

By looking at your error Gradle couldn't find com.android.databinding:dataBinder:1.0-rc0 you should try this instead,

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

To use DataBinding follow all these steps.

  1. Update your Android Studio to Android Studio 1.3 version.
  2. To set up your application to use data binding, add data
    binding
    to the class path of your top-level build.gradle file,
    right below “android”.

    dependencies {
       classpath "com.android.tools.build:gradle:1.3"
       classpath "com.android.databinding:dataBinder:1.0-rc1"
    }
    
  3. Then make sure jcenter is in the repositories list for your projects
    in the top-level build.gradle file.

    allprojects {
       repositories {
           jcenter()
       }
    }
    
  4. In each module you want to use data binding, apply the plugin right
    after android plugin.

    apply plugin: 'com.android.application'
    apply plugin: 'com.android.databinding'
    
  5. Clean and build your app.

Complete code

top-level build.gradle file,

// 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-level build.gradle file,

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'
}

For more detail Data Binding Guide.

For Complete demo Data Binding Android

###

Make sure you have Android Studio 1.3 or higher

Your project build.gradle should look something like this:

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()
    }
}

And your module build.gradle should look something like this:

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'])

}

I had a problem where I was targeting M Preview so nothing worked. Once I changed the build tools to 22.0.1, and the targetSdkVersion to 22, everything worked.

###

I had the same issue and solved it by updating android sdk tools to 24.3.3.

###

As the Documentation said

To use data binding, Android Plugin for Gradle 1.5.0-alpha1 or higher
is required.

I have added the following line to build.gradle project :

// 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
}

and then add the :

dataBinding {
        enabled = true
    }

to your build.graddle module app like this :

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'
}

###

Update for latest Android Studio & latest Gradle

You don’t need to add databinding:dataBinder dependency now. Just enable dataBinding in app level build.gradle in android tag.

android
{
...
    dataBinding {
        enabled = true
    }
...
}

###

Please, try to change classpath to ‘com.android.tools.build:gradle:1.3.0-beta2‘ and set buildToolsVersion “23 rc2“.

Don’t forget to update SDK packages via SDK manager before doing that.

Here you can find more information about Android Preview SDK: Set Up the Preview SDK

###

I had an identical issue, and solved it by removing the plugin for android-apt. Not sure what’s conflicting there, but something is.

###

You should update your SDK and It will resolve this issue.

###

You should add

classpath 'com.android.tools.build:gradle:1.3.0'
classpath "com.android.databinding:dataBinder:1.0-rc0"

build.grade which in project Directory.
then Sync the gradle

###

Sync your project after adding classpath

Leave a Reply

Your email address will not be published. Required fields are marked *