title: No injector factory bound for Class<>
body: <p>I saw the same question in stack but they try to fix the error with the <code>@ContributesAndroidInjector</code> but in <code>Dagger</code> documentation says use <code>@ContributesAndroidInjector</code> is only optional, so here are my classes:</p>
  
  <p>My <code>MainActivityComponent</code>:</p>
  
  <pre><code>@Subcomponent(modules = [
      MainBuilder::class
  ])
  @ActivityScope
  interface MainComponent: AndroidInjector&lt;MainActivity&gt;{
  
      @Subcomponent.Factory
      interface Factory: AndroidInjector.Factory&lt;MainActivity&gt;
  }
  </code></pre>
  
  <p>My <code>AplicationBinder</code>:</p>
  
  <pre><code>@Module(subcomponents = [
      MainComponent::class
  ])
  abstract class AppBuilder {
  
      @Binds
      @IntoMap
      @ClassKey(MainActivity::class)
      abstract fun mainActivityFactoryBind(factory: MainComponent.Factory): AndroidInjector.Factory&lt;out Activity&gt;
  
  }
  </code></pre>
  
  <p>And my <code>BaseActivity</code> who extends my <code>MainActivity</code>:</p>
  
  <pre><code>abstract class BaseActivity: HasSupportFragmentInjector, AppCompatActivity() {
  
      @Inject
      lateinit var dispatchingAndroidInjector: DispatchingAndroidInjector&lt;Fragment&gt;
  
      override fun onCreate(savedInstanceState: Bundle?) {
          AndroidInjection.inject(this)
          super.onCreate(savedInstanceState)
      }
  
      override fun supportFragmentInjector(): AndroidInjector&lt;Fragment&gt; {
          return dispatchingAndroidInjector
      }
  }
  </code></pre>
  
  <p>How i can solve this issue?</p>