在使用dagger2的过程中,如果修改了某个类的内容,第一次编译运行时总会报错:错误: 找不到符号 符号: 类 DaggerActivityComponent 位置: 程序包 com……的错误,然后再重新编译一次,才会正常运行,经过仔细的检查终于找到问题的根源:
错误的原因是build.gradle(Module:app)引入'com.google.dagger:dagger-compiler:2.0.2'使用的是compile,如下图:
解决方案如下:引入'com.google.dagger:dagger-compiler:2.0.2'需要使用apt插件
1、配置apt插件(在build.gradle(Project:xxx)中添加如下代码)
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
//添加apt插件
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
2、添加依赖(在build.gradle(Module:app)中添加如下代码)
//添加如下代码,应用apt插件
apply plugin: 'com.neenbedankt.android-apt'
...
dependencies {
...
compile 'com.google.dagger:dagger:2.0.2'
apt 'com.google.dagger:dagger-compiler:2.0.2'
...
}
3、然后sync重构一下工程即可,编译运行就不会报错了!