2016-11-14 1 views
0

Je fais une application Android qui utilise dagger + butterknife + recycleviews + retrofit. Tout se compile et fonctionne bien jusqu'à ce que j'ajoute les dépendances du couteau à beurre (celles liées à l'apt) dans le dégradé qui après la synchronisation, mon Composant Dague n'est pas trouvé même si je nettoie et reconstruis à nouveau. Mais si j'ai supprimé mes dépendances butterknife (celles liées à l'apt), synchroniser et construire, mon composant Dagger est trouvé.Pourquoi mon composant dague n'est pas trouvé lorsque j'utilise des dépendances au beurre?

Voici mon gradle:

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.2.2' 
     classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' 
     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

et mon application gradle:

apply plugin: 'com.android.application' 
apply plugin: 'com.neenbedankt.android-apt' 

compile 'com.google.dagger:dagger:2.7' 
annotationProcessor 'com.google.dagger:dagger-compiler:2.7' 

compile 'com.android.support:design:24.0.0-beta1' 
compile 'com.android.support:support-v4:24.0.0-beta1' 
compile 'com.squareup.retrofit2:retrofit:2.1.0' 
compile 'com.squareup.retrofit2:converter-gson:2.1.0' 
compile 'io.reactivex:rxjava:1.1.6' 
compile 'io.reactivex:rxandroid:1.2.1' 
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0' 
compile 'com.squareup.okhttp3:okhttp:3.4.2' 
compile 'com.jakewharton:butterknife:8.4.0' 
apt 'com.jakewharton:butterknife-compiler:8.4.0' 

Mon composant poignard:

DaggerMyComponent.builder(). 
     myRetroModule(new MyRetroModule("581e710d3e0000da02c08e10")). 
     build(). 
     inject(this); // instance 

Et sans les dépendances apt, le travail doesnt de Butterknife Que dois-je faire pour pouvoir utiliser ensemble butterknife + dagger?

Merci d'avance.

+0

Quel est le message d'erreur exact que vous obtenez? –

+0

que mon composant dague ne puisse pas être trouvé – linker85

+0

"que mon ..." Vous résumez maintenant ce qui ne répond pas à ma question. –

Répondre

1

je faisais des tests et j'ai changé

compile 'com.google.dagger:dagger-compiler:2.7' 

à

apt 'com.google.dagger:dagger-compiler:2.7' 

Sync et cela a fonctionné.