请选择 进入手机版 | 继续访问电脑版

12360技术网 - 专业IT技术发表平台

 立即注册  找回密码
查看: 9108|回复: 3

dagger2无法生成daggerXXXcomponent原因分析

[复制链接]

16

主题

26

帖子

268

积分

中级会员

Rank: 3Rank: 3

积分
268
发表于 2020-1-26 14:30:36 | 显示全部楼层 |阅读模式
初接触dagger,在生成daggerXXXcomponent的过程中踩了不少坑,因此在网上搜罗了可能的原因以及解决方法,并作记录防止再次踩坑。
无法生成daggerXXXcomponent的原因可能有多种,下面先列出笔者在网上找到的可能的原因:
1.未重新构建项目;

网上最多也是最简单的原因:DaggerXXXComponent需要成功编译项目才会生成

解决方法:
如果是Android Studio的话,使用快捷键Ctrl+F9进行编译
 
2.android studio 3.0之后不再支持apt

解决方法:将 apt 改成 annotationProcessor
例如:
  1. api 'com.google.dagger:dagger:2.15'apt 'com.google.dagger:dagger-compiler:2.15'
复制代码
改成:
  1. api 'com.google.dagger:dagger:2.15'annotationProcessor 'com.google.dagger:dagger-compiler:2.15'
复制代码
 

3.following annotation processors are not incremental

原因:gradle版本过高
解决方法:降低(回退)gradle版本
stackoverflow上的回答
 
4.多mudle引入dagger

原因:在尝试了上面三种解决方法后,笔者问题尚未得到解决。思来想去,唯一的可能应该是笔者的项目存在多个module,而dagger的依赖是在项目的另一个module引入的,然后在app模块中使用的是 api project(),导致在引入dagger的module里, build.gradle文件annotationProcessor未生效。
解决方法:
方法一:
dagger的component、module文件以及dagger的依赖引入必须处于同一个module中。使用此方法,daggerXXXcomponent将生成在该module中;
方法二:
app模块的api project(':moduleName') 改为 annotationProcessor project(':moduleName'),但是需要注意的是,使用annotationProcessor 将无法获得该module中的资源文件。
                                                                                                                        
                                                    
  • 点赞                        
  • 收藏                        
  • 分享                                                                                                                        
  •                                                         
                                      
    • 文章举报                           
                                                
                                                                        
                                            
                                                        Hilbert_nx                                                                发布了7 篇原创文章 · 获赞 7 · 访问量 4469                                                                                            私信                                                            关注
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x




上一篇:keyenent事件
下一篇:ubuntu 下载编译chromium
回复

使用道具 举报

22

主题

28

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
发表于 2020-1-28 16:49:06 | 显示全部楼层
既然你诚信诚意的推荐了,那我就勉为其难的看看吧![www.12360.co]
回复

使用道具 举报

13

主题

18

帖子

154

积分

注册会员

Rank: 2

积分
154
发表于 2020-2-9 23:06:47 | 显示全部楼层
这东西我收了!谢谢楼主![www.12360.co]
回复

使用道具 举报

0

主题

16

帖子

346

积分

中级会员

Rank: 3Rank: 3

积分
346
发表于 6 天前 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享![www.12360.co]
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

12360技术网

GMT+8, 2020-2-17 21:11 , Processed in 0.153297 second(s), 48 queries .

本网站内容收集于互联网,Www.12360.Co不承担任何由于内容的合法性及健康性所引起的争议和法律责任。 欢迎大家对网站内容侵犯版权等不合法和不健康行为进行监督和举报。

© 2019-2020 Www.12360.Co

快速回复 返回顶部 返回列表