Hilt Kotlin 中不受支持的元数据版本
Hilt Unsupported metadata version in 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" 时,它只是错误地指出
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.internal.codegen.kotlin.KotlinMetadata.metadataOf(KotlinMetadata.java:206)
at dagger.internal.codegen.kotlin.KotlinMetadata.from(KotlinMetadata.java:186)
at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1133)
...
谁能帮帮我?我花了很多时间在上面,你的回答对我有很大帮助
转到https://dagger.dev/hilt/gradle-setup检查 Hilt 当前版本
更新: kotlin:1.6.0兼容hilt:2.40.5,谢谢@Nazanin Nasab
目前 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"
}
一般解决方案 - 在 AS 构建控制台中单击底部的 link - 使用 -stacktrace
参数构建并找到导致错误的注释处理器 (KAPT) - 然后尝试更新依赖项 - 如果你是幸运的新版本应该可用并支持你的 gradle 版本
构建输出中您应该查找的消息
Try:
Run with --stacktrace option to get the stack trace. Run with --info or
--debug option to get more log output. Run with --scan to get full insights.
我这里也一样。我在 Kotlin 1.5 中使用 dagger:hilt-android:2.33-beta。10.Please 试试这个
项目gradle
implementation "com.google.dagger:hilt-android:2.33-beta"
模块gradle
plugins {
...
id 'dagger.hilt.android.plugin'
}
dependencies {
...
//dagger-hilt
implementation "com.google.dagger:hilt-android:2.35.1"
kapt "com.google.dagger:hilt-android-compiler:2.35.1"
}
感谢您的回答,我不得不稍微调整一下才能为我工作,因为我使用的是 Arctic Fox,希望这个回答也能有所帮助
Build.gradle(项目)
buildscript {
ext {
compose_version = '1.0.0'
}
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.0-alpha05'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.10"
classpath "com.google.dagger:hilt-android-gradle-plugin:2.37"
}
}
Build.gradle(应用程序)
//Dagger - Hilt
implementation "com.google.dagger:hilt-android:2.34-beta"
kapt "com.google.dagger:hilt-android-compiler:2.34-beta"
implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03"
kapt "androidx.hilt:hilt-compiler:1.0.0"
implementation 'androidx.hilt:hilt-navigation-compose:1.0.0-alpha03'
如果有任何解决方案解决了您的问题。转到 https://dagger.dev/hilt/gradle-setup,在 Using Hilt with Kotlin 部分,复制 dependencies
中提到的版本并相应地更新您的 build.gradle
将此行添加到 build.gradle 依赖项对我有帮助:
kapt("org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.3.0")
我试图 运行 我的代码在 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" 时,它只是错误地指出
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.internal.codegen.kotlin.KotlinMetadata.metadataOf(KotlinMetadata.java:206) at dagger.internal.codegen.kotlin.KotlinMetadata.from(KotlinMetadata.java:186) at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1133) ...
谁能帮帮我?我花了很多时间在上面,你的回答对我有很大帮助
转到https://dagger.dev/hilt/gradle-setup检查 Hilt 当前版本
更新: kotlin:1.6.0兼容hilt:2.40.5,谢谢@Nazanin Nasab
目前 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"
}
一般解决方案 - 在 AS 构建控制台中单击底部的 link - 使用 -stacktrace
参数构建并找到导致错误的注释处理器 (KAPT) - 然后尝试更新依赖项 - 如果你是幸运的新版本应该可用并支持你的 gradle 版本
构建输出中您应该查找的消息
Try:
Run with --stacktrace option to get the stack trace. Run with --info or
--debug option to get more log output. Run with --scan to get full insights.
我这里也一样。我在 Kotlin 1.5 中使用 dagger:hilt-android:2.33-beta。10.Please 试试这个
项目gradle
implementation "com.google.dagger:hilt-android:2.33-beta"
模块gradle
plugins {
...
id 'dagger.hilt.android.plugin'
}
dependencies {
...
//dagger-hilt
implementation "com.google.dagger:hilt-android:2.35.1"
kapt "com.google.dagger:hilt-android-compiler:2.35.1"
}
感谢您的回答,我不得不稍微调整一下才能为我工作,因为我使用的是 Arctic Fox,希望这个回答也能有所帮助
Build.gradle(项目)
buildscript {
ext {
compose_version = '1.0.0'
}
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.0-alpha05'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.10"
classpath "com.google.dagger:hilt-android-gradle-plugin:2.37"
}
}
Build.gradle(应用程序)
//Dagger - Hilt
implementation "com.google.dagger:hilt-android:2.34-beta"
kapt "com.google.dagger:hilt-android-compiler:2.34-beta"
implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03"
kapt "androidx.hilt:hilt-compiler:1.0.0"
implementation 'androidx.hilt:hilt-navigation-compose:1.0.0-alpha03'
如果有任何解决方案解决了您的问题。转到 https://dagger.dev/hilt/gradle-setup,在 Using Hilt with Kotlin 部分,复制 dependencies
中提到的版本并相应地更新您的 build.gradle
将此行添加到 build.gradle 依赖项对我有帮助:
kapt("org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.3.0")