2021年5月6日星期四

@Component.Builder is missing setters for required modules or components: [com.sample.TestComponent]

There are many answers in SO regarding the above question, however my case is different, for me the setters for component is missing.

I have ApplicationComponent which depends on some other component [TestComponent] coming from a library.

@AppScope  @Component(      dependencies = [TestComponent::class],      modules = [          AppModule::class,          AndroidInjectionModule::class      ]  )  interface AppComponent : AndroidInjector<MyApplication> {        override fun inject(application: MyApplication)        @ContextIO      fun getIOCoroutineContext(): CoroutineContext        @Component.Builder      interface Builder {            @BindsInstance          fun application(application: Application): Builder            @BindsInstance          fun testComponent(testComponent: TestComponent): Builder            fun build(): AppComponent      }  }  

And the application class

class MyApplication : DaggerApplication() {      val appComponent by lazy {      DaggerAppComponent.builder()          .application(this)          .testComponent(SdkInjectors.testComponent())          .build()    }  }      @Singleton  @Component(      modules = {VideoModule.class, AnalyticsModule.class}  )  public interface TestComponent {      // ...  }  
https://stackoverflow.com/questions/67415492/component-builder-is-missing-setters-for-required-modules-or-components-com-s May 06, 2021 at 05:33PM

没有评论:

发表评论