[英]Exclude generated by dagger2 class from apk
I have abstract FirstClass
, and his child class SecondClass
In second class I have dagger inject: 我有抽象的
FirstClass
和他的子类SecondClass
在第二个类中,我用了匕首注入:
component.inject(this);
But _MembersInjector
generate for this two classes — FirstClass_MembersInjector
and SecondClass_MembersInjector
但是
_MembersInjector
为这两个类生成— FirstClass_MembersInjector
和SecondClass_MembersInjector
How can I exclude FirstClass_MembersInjector
from my build? 如何从构建中排除
FirstClass_MembersInjector
?
Assuming you have something like: 假设您有类似以下内容:
class FirstClass {
@Inject Integer firstClassField;
}
then: 然后:
class SecondClass extends FirstClass {
@Inject String secondClassField;
void injectMembers() {
DaggerComponent.builder().build().inject(this);
}
}
Dagger 2 generates members injectors for all classes with @Inject
annotated fields ie, candidates for property injection. Dagger 2使用
@Inject
注释字段为所有类生成成员注入器,即属性注入的候选者。 This is regardless of whether you are actually requesting injection for that class somewhere in your code or not. 这与您是否实际上在代码中的某处请求该类的注入无关。
In the contrived example above, the FirstClass_MembersInjector
will be generated even though it is not used in the generated Dagger Component. 在上面人为的示例中,即使在生成的Dagger组件中未使用
FirstClass_MembersInjector
也将生成它。
The solution to your problem probably lies with better organisation your project rather than trying to configure unusual behaviour for Dagger 2. 解决问题的方法可能是更好地组织项目,而不是尝试为Dagger 2配置异常行为。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.