Ошибка кинжала 2 в AppCompatActivity

Я новичок в кинжале. В настоящее время я создаю образец проекта для некоторых сокращений:

MyComponent.java

@PerActivity @Component(modules = MyModule.class) public interface MyComponent { void inject(TutorialActivity activity); } 

MyModule.java

 @Module public class MyModule { @Provides Position providePosition() { return new Position(); } } 

PerActivity.java

 @Scope @Retention(RUNTIME) public @interface PerActivity {} 

TutorialActivity.java

 public class TutorialActivity extends AppCompatActivity{} 

При компиляции проекта я получаю ошибку:

 Error:Execution failed for task ':app:compileDebugJavaWithJavac'. > java.lang.IllegalArgumentException: expected one element but was: <android.support.v4.app.FragmentActivity, android.support.v4.app.TaskStackBuilder.SupportParentable> 

Поэтому, если я изменяю TutorialActivity как:

 public class TutorialActivity extends Activity{} or even public class TutorialActivity{} // Without extends 

Тогда он будет работать нормально. (Я вижу класс, созданный Dagger2).

Пожалуйста помоги !

Благодарю.

ОБНОВИТЬ

Моя структура проекта:

  • common модуль.
  • Модуль app . (Модуль приложения будет использовать общий модуль, зависящий от градиента).

В обоих build.gradle (общий и модуль приложения) я добавил:

 apt "com.google.dagger:dagger-compiler:${daggerVersion}" compile "com.google.dagger:dagger:${daggerVersion}" 

В build.gradle в общем модуле:

 provide "org.glassfish:javax.annotation:${javaxAnnotationVersion}" 

Ошибка возникает только в том случае, если у меня есть 2 модуля. ( app модуля зависит от common ). Если я переведу свой компонент / модуль в common модуль -> Он работает. Но когда я перехожу к модулю app -> Ошибка при компиляции.

Я не уверен, что ваша проблема связана с кинжалом, потому что я не вижу, чтобы вы запрашивали какие-либо зависимости в ваших компонентах Android.

Тем не менее вам нужно это в вашем build.gradle для использования аннотаций вставки depdendency.

  provided 'javax.annotation:jsr250-api:1.0' 

Спасибо @plash за ваш ответ.

После повторной проверки для обоих модулей. Я обнаружил, что добавил:

 provide "org.glassfish:javax.annotation:${javaxAnnotationVersion}" 

В common модуле.

После того, как я добавил, что для обоих модулей предусмотрена компиляция, выполните компиляцию (сгенерированный класс Dagger).