Java – Android Data Binding (bind) NoSuchMethodError

Android Data Binding (bind) NoSuchMethodError… here is a solution to the problem.

Android Data Binding (bind) NoSuchMethodError

I can’t set my project to use Android data binding (bind). This is my build.gradle:

apply plugin: 'com.android.databinding'

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0-beta2'
        classpath "com.android.databinding:dataBinder:1.0-rc4"
    }
}

android {
    ...
    dataBinding {
        enabled = true
    }

compileSdkVersion 21
    buildToolsVersion "20.0.0"
    ...
}

When I build, I get this error :

[data binding plugin]: failed to setup data binding

java.lang.NoSuchMethodError:
android.databinding.tool.LayoutXmlProcessor. (Ljava/lang/String; Ljava/util/List; Landroid/databinding/tool/writer/JavaFileWriter;IZ)V

Edit

I modified build.gradle:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'
    }
}

But I still get the same error. I still have this apt config

:

apt {
    arguments {
        androidManifestFile variant.outputs[0].processResources.manifestFile
    }
}

Because I’m using AndroidAnnotations.

Solution

You should now set it up with 1.5.0 and there is no explicit data binding (bind) import:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'
    }
}

Android

Data Binding 1.0 was released as part of the Android gradle plugin.

Related Problems and Solutions