首页 > 解决方案 > Hilt Kotlin 中不支持的元数据版本

问题描述

我试图在 Kotlin 1.5.10 中使用插件运行我的代码

plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
id 'dagger.hilt.android.plugin'

和依赖项如下

dependencies {
    ...
    //Dagger - Hilt
    implementation "com.google.dagger:hilt-android:2.33-beta"
    kapt "com.google.dagger:hilt-android-compiler:2.33-beta"
    implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03"
    kapt "androidx.hilt:hilt-compiler:1.0.0-beta01"
    implementation 'androidx.hilt:hilt-navigation-compose:1.0.0-alpha01'

    implementation 'com.android.support:palette-v7:28.0.0'

当我迁移到 kotlin_version = "1.5.10" 时,它只是错误地指出

错误:[Hilt] 不支持的元数据版本。检查您的 Kotlin 版本是否 >= 1.0:java.lang.IllegalStateException:不支持的元数据版本。在 dagger.internal.codegen.kotlin.KotlinMetadata.from(KotlinMetadata.java:186) 的 dagger.internal.codegen.kotlin.KotlinMetadata.metadataOf(KotlinMetadata.java:206) 检查您的 Kotlin 版本是否 >= 1.0。基础/java.util.HashMap.computeIfAbsent(HashMap.java:1133) ...

谁能帮我?我花了很多时间,你的回答对我有很大帮助

标签: android-studiokotlinmobileandroid-jetpack-composedagger-hilt

解决方案


转到https://dagger.dev/hilt/gradle-setup检查 Hilt 当前版本

目前 Kotlin 1.5.21 与 Hilt 2.38 兼容。

dependencies {
    ...
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21"
    classpath "com.google.dagger:hilt-android-gradle-plugin:2.38"
}

推荐阅读