web-dev-qa-db-fra.com

Erreur: @ dagger.Android.ContributesAndroidInjector a été utilisé, mais dagger.Android.processor.AndroidProcessor est introuvable.

J'essaye d'installer Dagger 2.12 et j'obtiens cette erreur:

erreur: @ dagger.Android.ContributesAndroidInjector a été utilisé, mais dagger.Android.processor.AndroidProcessor est introuvable sur le chemin du processeur

Voici comment j'ai configuré Dagger: 

Ma classe d'application:

public final class App extends Android.app.Application implements HasActivityInjector {

    @Inject
    DispatchingAndroidInjector<Activity> activityInjector;

    @Override
    public void onCreate() {
        super.onCreate();
        DaggerAppComponent.builder().build().inject(this);
    }

    @Override
    public AndroidInjector<Activity> activityInjector() {
        return activityInjector;
    }
}

ActivityBindingModule:

@Module
public abstract class ActivityBindingModule {

    @ContributesAndroidInjector(modules = SearchActivityModule.class)
    abstract SearchActivity searchActivity();
}

SearchActivityModule:

@Module
public class SearchActivityModule {

    @Provides
    public SearchActivityDelegate getDelegate(SearchActivity searchActivity) {
        return searchActivity;
    }

    @Provides
    public SearchActivityPresenter providePresenter(SearchActivity searchActivity) {
        return new SearchActivityPresenter(new OtherDependency(), searchActivity);
    }
}

AppModule:

@Module(includes = { AndroidInjectionModule.class, ActivityBindingModule.class })
public abstract class AppModule {

}

Est-ce que quelqu'un sait ce qui pourrait causer cette erreur?

9
Micah Simmons

Accédez à votre niveau de module build.gradle, sous 

annotationProcessor 'com.google.dagger:dagger-Android-processor:[YOUR VERSION NUMBER]'

ajouter:

kapt 'com.google.dagger:dagger-Android-processor:[YOUR VERSION NUMBER]'.

21
Sam W.

la seule solution pour moi utilisait l'ancienne version de dagger (2.16)

kotlin version : 1.2.71
// dagger
implementation 'com.google.dagger:dagger-Android:2.16'
implementation 'com.google.dagger:dagger-Android-support:2.16'
kapt "com.google.dagger:dagger-compiler:2.16"
kapt "com.google.dagger:dagger-Android-processor:2.16"
3
issamux

Vous auriez probablement manqué la dépendance suivante.

annotationProcessor 'com.google.dagger:dagger-Android-processor:' + yourDaggerVersion
2
gopalanrc