Program type already present: BaseActivity_MembersInjector

一、问题描述:

在使用MVPArms 官方快速组件化方案(ArmsComponent),编译Release版本后,出现Program type already present: BaseActivity_MembersInjector问题,此问题与dagger相关。

网上找了相关问题的解决方案,资料不多且不太好理解。

二、解决方法:

1、在你的BaseActivity所在module下的gradle配置文件增加:

dependencies {

annotationProcessorrootProject.ext.dependencies["dagger2-compiler"]

}

写一个抽象的AbsActivity(中间层类)继承BaseActivity(基类),增加变量P添加注入标识@Inject ,所有继承BaseActivity的类改成继承AbsActivity。如下:

public abstract class AbsActivity

extends BaseActivity

{ @Inject P p;}

重新编译,可解决此问题,希望本文能帮助更多的人。

你可能感兴趣的:(Program type already present: BaseActivity_MembersInjector)