匕首类显示为红色,但仍然建立

我是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,它会转到生成的类。

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

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

这样,你告诉你的IDE标记为“生成的源文件”,该文件夹下的源文件(这是Kapt放置生成的文件,如DaggerMainComponent