Description
openedon Feb 3, 2016
Hi, i have an unexpected problem with my setup. Also to inform you, i heavily use the official android databinding in my project (in 10+ activities and 20+ fragments).
my app build.gradle is something like this:
apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'
android {
compileSdkVersion 23
buildToolsVersion '23.0.2'
dataBinding {
enabled = true
}
dexOptions {
incremental true
javaMaxHeapSize "4g"
}
defaultConfig {
applicationId "com.charbgr"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1"
//Espresso
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
//RenderScript
renderscriptTargetApi 19
renderscriptSupportModeEnabled true
multiDexEnabled true
}
packagingOptions {
//Espresso excludes
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LGPL2.1'
exclude 'LICENSE.txt'
//Espresso excludes
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
dependencies {
...
compile 'com.google.dagger:dagger:2.0.2'
apt 'com.google.dagger:dagger-compiler:2.0.2'
provided 'org.glassfish:javax.annotation:10.0-b28'
}
the root build.gradle is this one:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-alpha5'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
allprojects {
repositories {
jcenter()
}
}
In my code, i make an enforced error(i know that i cannot create an object with the same method name in a module). The enforced error looks like this:
@Module
public class AndroidModule {
@Provides
public Foo providesFoo(String bar) {
return new Foo(bar);
}
@Provides
public Foo providesFoo(String bar, String unusedArgument) {
return new Foo(bar);
}
}
For some reason, when i build my project i get 100+ errors from databinding with this output:
cannot find symbol class BR
and dagger doesn't prints this error
Cannot have more than one @Provides method with the same name in a single module
Seems that Dagger "swallows" this error or the databinding overrides some behaviour of the annotation processor tool(apt).
Do you know what's going on?