构造函数注入找不到符号方法注入成员

sky*_*ine 2 java android dependency-injection dagger dagger-2

我正在开发一个具有 dagger 依赖项的 Android 应用程序。当通过构造函数注入注入类时,它会抛出一个找不到符号的错误。如果我通过@Provides模块内部定义的方法提供依赖项,则一切正常。

编码:

  public class SixthGenericTest {

        @Inject
        FirstTest firstTest;

        @Inject
        public SixthGenericTest()
        {
            Injection.create().getAppComponent().inject(this);
        }
        public String getData(){
            return firstTest.getTestName();
        }
    }

    @Singleton
    @Component(modules = {FirstModule.class})
    public interface AppComponent {
        void inject(SixthGenericTest sixthGenericTest);

    }
Run Code Online (Sandbox Code Playgroud)

和我得到的错误:

错误:(19, 28) 错误:找不到符号方法injectMembers(MembersInjector,SixthGenericTest)

Pab*_*rra 5

升级你的匕首版本

dependencies {
  compile 'com.google.dagger:dagger:2.x'
  annotationProcessor 'com.google.dagger:dagger-compiler:2.x'
}
Run Code Online (Sandbox Code Playgroud)

在此处查看最新版本