Android Dagger 2.11与Kotlin,ContributesAndroidInjector Annotation问题

时间:2017-07-30 14:31:33

标签: android kotlin dagger-2

我将Dagger 2.11Kotlin一起使用。使用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并重新构建项目。

1 个答案:

答案 0 :(得分:9)

问题在于我的依赖关系。以下是Dagger 2.11Kotlin的工作依赖关系。

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"

谢谢大家的帮助。