我将Dagger 2.11
与Kotlin
一起使用。使用Dagger
一切正常但是当我向项目中添加ContributesAndroidInjector
注释时,我收到此错误:
e:
...build/tmp/kapt3/stubs/devDebug/com/raqun/android/di/AppComponent.java:6: error: dagger.internal.codegen.ComponentProcessor was unable to process this interface because not all of its dependencies could be resolved. Check for compilation errors or a circular dependency with generated code.
e:
e: public abstract interface AppComponent extends dagger.android.AndroidInjector<MyApp> {
e:
这里是我使用的依赖项:
$rootProject.ext.daggerVersion = 2.11
compile "com.google.dagger:dagger-android:$rootProject.ext.daggerVersion"
compile "com.google.dagger:dagger-android-support:$rootProject.ext.daggerVersion"
kapt "com.google.dagger:dagger-compiler:$rootProject.ext.daggerVersion"
annotationProcessor "com.google.dagger:dagger-android-processor:$rootProject.ext.daggerVersion"
annotationProcessor "com.google.dagger:dagger-compiler:$rootProject.ext.daggerVersion"
我已添加:
kapt {
generateStubs = true
}
和
apply plugin: 'kotlin-kapt'
我错过了什么或做错了什么? 谢谢你的帮助。
不是:我已经尝试过清理gradle并重新构建项目。
答案 0 :(得分:9)
问题在于我的依赖关系。以下是Dagger 2.11
和Kotlin
的工作依赖关系。
compile "com.google.dagger:dagger-android-support:$rootProject.ext.daggerVersion"
kapt "com.google.dagger:dagger-compiler:$rootProject.ext.daggerVersion"
kapt "com.google.dagger:dagger-android-processor:$rootProject.ext.daggerVersion"
谢谢大家的帮助。