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

时间:2017-12-10 09:02:00

标签: 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.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,它会转到生成的类。

1 个答案:

答案 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