在kotlin中使用Dagger2 的时候,可能出现dagger2代码不能编译的问题
导致此问题的原因可能如下
annotationProcessor 'com.google.dagger:dagger-compiler:2.8'
implementation 'com.google.dagger:dagger:2.8'
如果是上术的写法,在编译的时候,则无法生成Dagger2 代码。会出现下面的异常
Unresolved reference: Daggerxxxx
出现这种问题的解决方案是,在外部的gradle添加如下代码
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
在app下面的gradle中添加
apply plugin: 'kotlin-kapt'
而dagger2的引用要改成如下
kapt 'com.google.dagger:dagger-compiler:2.8'
compile 'com.google.dagger:dagger:2.8'
此时在编译,则会生成dagger2 代码