前言
刚开始使用,处于学习阶段,仅以此文记录遇到的各种问题以及解决方案。
推荐教程文章链接:Dagger2神器入门(一),我看了不少文章,以此篇最为浅显易懂。我非常同意作者的看法,学一样新东西,如果你的技术积累还未达到 触类旁通,一法通,万法解通的境界,就不要一开始就直奔原理,先知道怎么用,然后用着用着慢慢深入。
文章以上面链接的Demo为例子
1. 第一个坑,按照官方 Dagger2 官方指导,添加依赖,但是apt无法自动生成 DaggerCarComponent 的这个类,clean,bulid,restart全都没用
compile'com.google.dagger:dagger:2.11'
annotationProcessor'com.google.dagger:dagger-compiler:2.11'
公司时解决方案: 版本降低到2.09(AS2.2)
ps:AS更新到2.33,依旧只能用2.09。
家里时不需要解决方案(AS2.3)
PS: 开发工具什么情况都可能发生,别人能用的你不一定能用,别人不能用的你可能能用,反正就是各种解决问题。
2. 解决第1个问题中发现的问题。
很多文章都提到 怎么去使用这个 库,但是跟现在Github官方指导的不一样,第一次用的 对apt不了解的人 可能会疑惑到底该用哪个
这是第一种做法
在Project下的build里配置
dependencies {
classpath'com.android.tools.build:gradle:2.1.0'
//添加apt插件classpath'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
在app的build里添加依赖
apply plugin:'com.android.application'
apply plugin:'com.neenbedankt.android-apt' //应用apt插件
dependencies {
...
compile'com.google.dagger:dagger:2.4
'apt'com.google.dagger:dagger-compiler:2.4'
//java注解compile'org.glassfish:javax.annotation:10.0-b28'
...
}
第2种方法是官方指导的,就按照官方的来,不用添加任何额外操作,如果不行,就降低版本试试。
区别在哪里给我就不copy别人的劳动成果了,给你们链接 什么是apt