摆脱Dagger 2警告"生成一个MembersInjector"

Sve*_*obs 27 java dagger dagger-2

鉴于以下课程

abstract class AbstractClass {
    @Inject SomeDependency someDependency;
}

class SomeClass extends AbstractClass {
    @Inject AnotherDependency anotherDepenency;

    public void onCreate() {
        component = // Get component instance somehow
        component.inject(this);
    }
}
Run Code Online (Sandbox Code Playgroud)

在Dagger 2中,当将依赖项注入到从包含依赖项的抽象基类扩展的类中时,Dagger Generating a MembersInjector for AbstractClass. Prefer to run the dagger processor over that class instead.在编译期间显示了该类型的警告.

但是,如果我重写/实现onCreate()AbstractClass并调用依赖注入有,也依赖someDependency将被注入这两次可能会导致意外的行为.一旦onCreate()AbstractClass和一次onCreate()SomeClass.

在防止重复注入依赖项的同时摆脱此警告的最佳解决方案是什么?

Sve*_*obs 3

从Dagger 2.9开始,这些警告默认关闭。