我是Dagger2的新手,我正在尝试在我的Kotlin项目中使用它(1.1.51)。我遵循了一些教程,一切都很好。
我在gradle文件中有这些,我使用的是Android Studio 3.01,我必须使用gradle-3.3
apply plugin: 'kotlin'
apply plugin: 'kotlin-allopen'
apply plugin: 'kotlin-kapt'
compile 'com.google.dagger:dagger:2.11'
kapt 'com.google.dagger:dagger-compiler:2.11'
kapt {
generateStubs = true
}
我可以成功运行我的项目,Dagger2似乎正在运行。唯一令人烦恼的问题是Dagger创建的类总是在导入列表中显示为红色。例如DaggerMainComponent。
import com.burfdevelopment.hack24.Dagger.MainComponent import com.burfdevelopment.hack24.Dagger.MainModule import com.burfdevelopment.hack24.Dagger。 DaggerMainComponent
因此,如果删除未使用的导入的代码整齐,它总是会删除它,即使它被使用。如果我单击DaggerMainComponent,它会转到生成的类。
答案 0 :(得分:1)
我认为Android Studio中配置的文件夹存在问题。特别是,在你的build.gradle
文件中你应该有这样的东西(我在IntelliJ Idea项目中使用它,但它也适用于Android Studio):
// Configure Dagger generated files
ideaModule.module.generatedSourceDirs += file("$buildDir/generated/source/kapt/main")
通过这种方式,您告诉IDE将标记为"生成的源",该文件夹下的源文件(这是Kapt放置生成的文件,如DaggerMainComponent
)