Dagger 2 does not generate components

0

When I try to give build to my project the following error occurs:

  

Error:Execution failed for task ':app:compileDebugJavaWithJavac'. java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V

Here are my dependency injection classes:

ApplicationModule

@Module
public class ApplicationModule {

    private static final String APP_ID = "id";
    private static final String APP_SECRET = "secret";

    private final Application mApplication;

    public ApplicationModule(Application application) {
        mApplication = application;
    }

    @Provides
    Application provideApplication() {
        return mApplication;
    }

    @Provides
    @Singleton
    Client provideClient(Application application) {
        return new Client.Builder(APP_ID, APP_SECRET, application).build();
    }
}

ApplicationComponent

@Singleton
@Component(modules = ApplicationModule.class)
public interface ApplicationComponent {

    void inject(MainApplication application);

    Application getApplication();

    Client getClient();

}

MainApplication

public class MainApplication extends android.app.Application {

    private ApplicationComponent component;

    @Inject
    Client client;

    @Override
    public void onCreate() {
        super.onCreate();

        ...

        component = DaggerApplicationComponent.builder()
                .applicationModule(new ApplicationModule(this))
                .build();
        component.inject(this);
    }

    public ApplicationComponent getComponent() {
        return component;
    }

}

And my gradle.build (Module: app)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    defaultConfig {
        applicationId "br.mobi.santor.agora"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

repositories {
    flatDir {
        dirs 'libs'
    }
}

final SUPPORT_LIBRARY_VERSION = '25.1.0'
final DAGGER_VERSION = '2.8'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile(name: 'kinvey-android-2.10.6', ext: 'aar')

    // AppCompat dependencies
    compile "com.android.support:appcompat-v7:$SUPPORT_LIBRARY_VERSION"
    compile "com.android.support:cardview-v7:$SUPPORT_LIBRARY_VERSION"
    compile "com.android.support:recyclerview-v7:$SUPPORT_LIBRARY_VERSION"
    compile "com.android.support:design:$SUPPORT_LIBRARY_VERSION"

    // Dagger dependencies
    compile "com.google.dagger:dagger:$DAGGER_VERSION"
    annotationProcessor "com.google.dagger:dagger-compiler:$DAGGER_VERSION"

    // Network dependencies
    compile 'com.squareup.picasso:picasso:2.5.2'

    // Utils dependencies
    compile 'uk.co.chrisjenx:calligraphy:2.2.0'
    compile 'joda-time:joda-time:2.9.7'

    testCompile 'junit:junit:4.12'
}

build.grad (Module: project)

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

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
    
asked by anonymous 29.01.2017 / 12:19

1 answer

1

Following the response from gk5885 , I updated Guava. In my case, I had to delete the guava-18.0.jar from the lib folder required by Kinvey to have Dagger automatically add the most compatible version.

    
01.02.2017 / 02:17