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中修复。增加版本就好了
我对 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中修复。增加版本就好了