我尝试使用插件在 Kotlin 1.9.0 中运行我的代码
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
id 'dagger.hilt.android.plugin'
}
和依赖关系如下
dependencies {
...
implementation("com.google.dagger:hilt-android:2.48")
kapt("com.google.dagger:hilt-android-compiler:2.48")
implementation("androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03")
kapt("androidx.hilt:hilt-compiler:1.2.0")
implementation("androidx.hilt:hilt-navigation-compose:1.2.0")
implementation 'com.android.support:palette-v7:28.0.0'`
}
当我迁移到 kotlin_version = "1.9.0" 时,它只是错误地指出
error: [Hilt]
Unsupported metadata version. Check that your Kotlin version is >= 1.0: java.lang.IllegalStateException: Unsupported metadata version. Check that your Kotlin version is >= 1.0
at dagger.hilt.processor.internal.kotlin.KotlinMetadata.metadataOf(KotlinMetadata.java:200)
at dagger.hilt.processor.internal.kotlin.KotlinMetadata.from(KotlinMetadata.java:182)
at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1220)
at dagger.hilt.processor.internal.kotlin.KotlinMetadataFactory.create(KotlinMetadataFactory.java:54)
[Hilt]
您需要用这个替换插件
id 'dagger.hilt.android.plugin'
(可能也在您没有向我们展示的根gradle文件中):
id 'com.google.dagger.hilt.android'
然后你只需要删除以下依赖项,它应该可以再次工作:
implementation("androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03")
kapt("androidx.hilt:hilt-compiler:1.2.0")