gpt4 book ai didi

java - Dagger 2 : @Component. Builder 缺少所需模块或组件的 setter : [appi. example.com.dagger.AppModule]`

转载 作者:IT老高 更新时间:2023-10-28 20:49:47 25 4
gpt4 key购买 nike

我正在配置新的 Dagger Android 模块,但出现此错误这是我的组件:

@AppScope
@Component(modules = {AppModule.class, NetModule.class})
public interface AppComponent {

@Component.Builder
interface Builder {
@BindsInstance
Builder application(ExampleApplication application);

@BindsInstance
Builder appModule(AppModule appModule);

@BindsInstance
Builder netModule(NetModule netModule);

AppComponent build();
}

void inject(ExampleApplication __);
...

我在我的应用程序中这样构建

appComponent = DaggerAppComponent
.builder()
.application(this)
.appModule(new AppModule(this))
.netModule(new NetModule())
.build()
.inject(this);

但我仍然收到错误

错误:(20, 3) 错误:@Component.Builder 缺少所需模块或组件的 setter :[app.example.com.dagger.AppModule]

根据应该是正确的文档,我错过了什么?

例如,这可能是带有 Builder 的有效组件:

@Component(modules = {BackendModule.class, FrontendModule.class})
interface MyComponent {
MyWidget myWidget();

@Component.Builder
interface Builder {
MyComponent build();
Builder backendModule(BackendModule bm);
Builder frontendModule(FrontendModule fm);
}
}

最佳答案

从 AppModule.class 中删除以下代码并重建项目

    @Provides
@Singleton
Application provideContext(SomeApplication application) {
return application;
}

关于java - Dagger 2 : @Component. Builder 缺少所需模块或组件的 setter : [appi. example.com.dagger.AppModule]`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44083243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com