Android - Dagger 不生成 DaggerModelComponent.create()

Android - Dagger not generating DaggerModelComponent.create()

我正在按照此处的这些教程尝试学习匕首。 https://www.youtube.com/watch?v=wJkHYBf8VkA

在我的 activity 中,我试图在重建我的项目后调用 DaggerModelComponent.create() 并且它没有得到解决。

这是我的模型 class:

class Car @Inject constructor(engine: Engine, wheels: Wheels) {

fun drive(){
    Log.d("Car", "driving...")
}}

我的组件界面:

@Component interface CarComponent {

fun getCar() : Car }

还有我的 activity:

private lateinit var car: Car

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val component = DaggerCarComponent.create()
    car.drive()
}

我还有发动机和车轮模型:

class Engine @Inject constructor()

class Wheels @Inject constructor()

这在我的 activity 中不起作用:

val component = DaggerCarComponent.create()

显然,Dagger 应该会生成这个 class 但我认为不是。

这些是我的应用程序中的依赖导入 build.grale

implementation 'com.google.dagger:dagger:2.25.2'
annotationProcessor 'com.google.dagger:dagger-compiler:2.25.2'

我错过了什么吗?也许我在 Kotlin 中做错了什么,我正在学习 Java 中的教程。 提前致谢。

找到解决方案!对于 Kotlin,显然最好使用 kapt 而不是 annotationProcessor。所以添加:

apply plugin: 'kotlin-kapt'

kapt 'com.google.dagger:dagger-compiler:2.25.2'

应用 build.gradle 解决了这个问题。