Android Hilt 无法与添加的插件一起使用

Android Hilt won't work with plugins added

我对 android 刀柄有疑问。
我添加了刀柄插件。

//build.gradle(:project)
buildscript {
   ext.hilt_version = '2.37'
   dependencies {
      ...
      classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"
   }
}
//build.gradle(:app)
plugins {
   ...
   id 'kotlin-kapt'
   id 'dagger.hilt.android.plugin'
}

dependencies {
   implementation "com.google.dagger:hilt-android:$hilt_version"
   kapt "com.google.dagger:hilt-compiler:$hilt_version"
}
//MyApplication.kt
@HiltAndroidApp
class MyApplication : Application() {...}

当我构建项目时, 我收到错误消息
“预期@HiltAndroidApp 有一个值。您是否忘记应用 Gradle 插件?”
你有什么想法吗?

我在我的新项目中也遇到了同样的问题。将 kotlin 版本降低到 1.5.10 后,此错误消失了。我认为 hilt 与最新的 kotlin 插件存在兼容性问题。

1.5.20 中存在错误 为避免此错误,有一种解决方法。 在 build.gradle (app) 文件中粘贴下面的代码。 通常,在 hilt Gradle 插件中,这些选项是自动设置的。在 1.5.20 中不是。如果您手动设置它将解决问题。

kapt {
javacOptions {
    option("-Adagger.fastInit=ENABLED")
    option("-Adagger.hilt.android.internal.disableAndroidSuperclassValidation=true")
}}

正如其他人所提到的,Kotlin 1.5.20 有一个 bug in Kapt 导致了这个问题。

在1.5.21中修复。增加版本就好了