Kotlin 匕首类显示为红色,但仍在生成

Kotlin 匕首类显示为红色,但仍在生成,kotlin,dagger-2,Kotlin,Dagger 2,我是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.goo

我是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创建的类在导入列表中总是显示为红色。e、 g不完全元

导入com.burfdevelopment.hack24.Dagger.main组件 导入com.burfdevelopment.hack24.Dagger.main模块 导入com.burfdevelopment.hack24.Dagger.daggermacomponent


因此,如果一个代码删除了未使用的导入,它总是会删除它,即使它正在使用。如果我单击DaggerComponent,它会转到生成的类。

我认为Android Studio中配置的文件夹存在问题。特别是,在您的
build.gradle
文件中,您应该有这样的内容(我在IntelliJ Idea项目中使用过它,但在Android Studio中也应该可以使用它):

这样,您就告诉您的IDE将该文件夹下的源文件标记为“生成的源”(Kapt将生成的文件(如
不完整文件)放在该文件夹中)

// Configure Dagger generated files
ideaModule.module.generatedSourceDirs += file("$buildDir/generated/source/kapt/main")