作者:手机用户2502862793 | 来源:互联网 | 2023-01-05 16:27
如何解决《错误:使用了@dagger.android.ContributesAndroidInjector,但未找到dagger.android.processor.AndroidProcessor》经验,为你挑选了2个好方法。
我正在尝试设置Dagger 2.12,我收到此错误:
错误:使用了@ dagger.android.ContributesAndroidInjector,但在处理器路径上找不到dagger.android.processor.AndroidProcessor
这是我配置Dagger的方式:
我的应用类:
public final class App extends android.app.Application implements HasActivityInjector {
@Inject
DispatchingAndroidInjector activityInjector;
@Override
public void onCreate() {
super.onCreate();
DaggerAppComponent.builder().build().inject(this);
}
@Override
public AndroidInjector 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 {
}
有谁知道可能导致此错误的原因是什么?
1> 小智..:
转到您的模块级别build.gradle
,在
annotationProcessor 'com.google.dagger:dagger-android-processor:[YOUR VERSION NUMBER]'
,
加:
kapt 'com.google.dagger:dagger-android-processor:[YOUR VERSION NUMBER]'
.
2> issamux..:
对我来说,唯一的解决方案是使用旧版本的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"