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<P extends IPresenter> extends BaseActivity<P> { @Inject P p;}

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容