当前位置: 首页 > 面试题库 >

匕首2:@ Component.Builder缺少所需模块或组件的设置器:[appi.example.com.dagger.AppModule]`

曹渝
2023-03-14
问题内容

我正在配置新的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缺少所需模块或组件的设置器:[app.example.com.dagger.AppModule]

根据应该正确的文档,我缺少什么?

例如,这可能是带有构建器的有效组件:

@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;
    }


 类似资料:
  • 我不太清楚如何用匕首2解决这个问题。假设我们有为我们提供,那么我们有只使用这一个模块。在此基础上,我们有和,它们依赖于<代码>活动组件的构建与 然后我注入我的活动: 现在我可以使用中声明的所有内容,但是我无法访问。 所以问题是如何实现这一目标?所以,当我构建依赖于另一个组件的组件时,我仍然可以从第一个组件访问模块? 我想我已经找到了解决方案,在重新观看了Jake的Devxx演讲之后,我不得不错过了

  • 我已经和匕首2一起工作了一段时间,我还在试图弄清楚一些事情。我仍然不能很好地管理的一件事是为不同的情况设置模块和组件,比如一个有几个片段的活动。我看过很多实现,大多数时候都有点不同。 所以,让我公开我目前的应用程序结构使用MVP,我想要一些意见,如果我的实现是好的或不是。 现在,MainActivity有3个片段,我将为片段创建3个模块和1个组件 然后我必须实例化Dagger,首先在我的应用程序类

  • 我有一个库项目/模块,Android应用程序和普通java应用程序都使用它。在Dagger 1中,此项目/模块具有属性。其中有一个@Inject字段,任何类实现或@Provides方法都不能满足该字段。其想法是强制具有的“顶部”模块提供特定于系统的实现 举个例子:在library项目中,我有一个ActLogin活动,它有字段。此字段的值在登录到服务器时使用。ActLogin由使用此库的多个应用程序

  • 问题内容: 我已经配置了jenkins来构建我的ios- swift应用程序。我使用过xcode版本8.1和swift版本3。我是Jenkins的新手,并继续集成过程。根据我的控制台输出,我认为构建成功。因为这样的控制台输出打印 但是在此控制台输出打印失败消息之后。 我这样的gofinal控制台输出。 与此相关的问题是什么? 问题答案: 经过广泛的研究,我终于找到了解决该问题的方法。我所做的第二个

  • 我在应用程序中有多个匕首瞄准镜 UserScope-范围表示用户会话 ActivityScope-每个活动的范围 UserComponent-CoreComponent的子组件 UserManager-创建UserComponent的单例程序 HomeComponent-依赖于UserComponent的组件 我试图在下更新用户对象,但不知何故,对象更新没有反映在它的依赖组件上。因此,一旦更新屏幕

  • 问题内容: 我可能错过了一些东西,但我认为像@Singleton这样的作用域用于定义“作用域生命周期”。 我在Android应用程序中使用了Dagger 2(但我认为问题根本与android相关)。 我有1个模块: 我有两个与范围不同的组件: 两者,并且,有一个构造函数。虽然MenuPresenter期望将其作为参数,但LoginPresenter却采用了: 但是每次我使用这些组件创建一个或时,都