Inject annotation in base class - Dagger 仍然想添加可注入构造函数

Inject annotation in base class - Dagger still wants to add injectable constructor

我在用匕首。 拥有以下课程:

class A {
 @Inject
 MyClass myClass;
}

class B extends A {
 myClass.do();
}

当我试图编译这个时,我得到

No injectable members on B . Do you want to add an injectable constructor?

将 myClass 移动到 B 时,一切都会编译。知道可能是什么问题吗?

Dagger 无法知道 A 的所有子类型,因此它不知道它需要为 类 生成适配器,例如 B.

添加带有 @Inject 的无参数构造函数将强制生成可用于对 B 实例执行注入的代码。您还可以在模块的 injects= 列表中列出 B.class 以强制生成适配器。