title: Dagger @ContributesAndroidInjector ComponentProcessor was unable to process this interface
body: <p>I was testing new feature of dagger: Android module. And I am not able to compile the code when I use <code>@ContributesAndroidInjector</code>
  I am always getting following error:</p>
  
  <p>Error:(12, 8) error: dagger.internal.codegen.ComponentProcessor was unable to process this interface because not all of its dependencies could be resolved. Check for compilation errors or a circular dependency with generated code.</p>
  
  <p>I tried to implement my components like <a href="https://github.com/ashdavies/eternity/tree/master/mobile/src/main/java/io/ashdavies/eternity/inject" rel="noreferrer">here</a>, but still I got the error.</p>
  
  <p>Here is the smallest example:</p>
  
  <pre><code>@PerApplication
  @Component(modules = {AndroidInjectionModule.class, LoginBindingModule.class})
  public interface ApplicationComponent {
      void inject(ExampleApplication application);
  }
  
  @Module
  public abstract class LoginBindingModule {
      @ContributesAndroidInjector
      abstract LoginActivity contributeYourActivityInjector();
  }
  
  public class LoginActivity extends Activity {
  
      @Inject
      LoginPresenter loginPresenter;
  
      @Override
      protected void onCreate(@Nullable Bundle savedInstanceState) {
          AndroidInjection.inject(this);
          super.onCreate(savedInstanceState);
      }
  }
  
  public class LoginPresenter {
  
      @Inject
      public LoginPresenter() {
  
      }
  }
  </code></pre>
  
  <p>If I remove LoginBindingModule from ApplicationComponent the app would be build, but would fail with runtime exception: </p>
  
  <p>java.lang.IllegalArgumentException: No injector factory bound for Class</p>
  
  <p>project setup:</p>
  
  <pre><code>gradle 3.3
  buildToolsVersion "25.0.2"
  dagger 2.11
  </code></pre>