Dagger 2.12をセットアップしようとしていますが、次のエラーが発生します。
エラー:@ dagger.Android.ContributesAndroidInjectorが使用されましたが、プロセッサーパス上にdagger.Android.processor.AndroidProcessorが見つかりませんでした
Daggerの構成方法は次のとおりです。
私のアプリケーションクラス:
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 {
}
誰かがこのエラーを引き起こしている可能性があることを知っていますか?
モジュールレベルに移動しますbuild.gradle
、 下
annotationProcessor 'com.google.dagger:dagger-Android-processor:[YOUR VERSION NUMBER]'
、
追加:
kapt 'com.google.dagger:dagger-Android-processor:[YOUR VERSION NUMBER]'
。
私にとっての唯一の解決策は、古いバージョンの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"
おそらく、次の依存関係を見逃していたでしょう。
annotationProcessor 'com.google.dagger:dagger-Android-processor:' + yourDaggerVersion
Javaの場合
これをbuild.gradleに追加します
annotationProcessor "com.google.dagger:dagger-Android-processor:$dagger_version"
Kotlinの場合
これをbuild.gradleに追加します
apply plugin: 'kotlin-kapt'
kapt "com.google.dagger:dagger-Android-processor:$dagger_version"