【问题标题】:Unsupported metadata version. Check that your Kotlin version is >= 1.0: java.lang.IllegalStateException不受支持的元数据版本。检查您的 Kotlin 版本是否 >= 1.0:java.lang.IllegalStateException
【发布时间】:2022-10-13 06:29:20
【问题描述】:

我将 Kotlin 版本从 1.6.10 更改为 1.7.0。

由此

 implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10'

升级到

 implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0'

刀柄引发错误。我的刀柄版本是2.42.有没有办法在不再次降级的情况下解决这个问题?它工作正常科特林 1.6.10刀柄 2.42.但我想通过升级我的 kotlin 版本来使用它。

【问题讨论】:

  • 我在我的项目中遇到了问题。你有什么解决办法吗?
  • 我也是!以下解决方案均不适用于我的情况
  • @MohitLakhanpal 在我编译 compileSdk 和 targetSdk 32 时已修复。

标签: android kotlin dagger-hilt


【解决方案1】:

您可以添加kapt "org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.4.2" 并且问题会消失,但是如果您正在使用喷气背包组成那么您将不得不将您的 Kotlin 版本降级到 1.6.10,因为 Compose 编译器目前与 Kotlin 1.7.0 不兼容。

plugins {
    id 'com.android.application' version '7.2.1' apply false
    id 'com.android.library' version '7.2.1' apply false
    id 'org.jetbrains.kotlin.android' version '1.6.10' apply false
    id 'org.jetbrains.kotlin.jvm' version '1.6.10' apply false
    id 'com.google.dagger.hilt.android' version '2.42' apply false
}

【讨论】:

  • 它通过添加kapt "org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.4.2"来工作
【解决方案2】:

Dagger/Hilt 版本 2.43.2 似乎已修复此问题。

https://github.com/google/dagger/releases/tag/dagger-2.43.2

【讨论】:

  • 请务必同时更改项目和模块级别的 build.gradle 文件。
【解决方案3】:

您可以将您的 kotlin gradle 插件更改为相同的版本:
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.0"

这是我的组件版本,它可以工作:

hilt/hilt gradle plugin:2.42
dagger2:2.35.1
kotlin/kotlin gradle plugin:1.6.21

【讨论】:

    【解决方案4】:

    据说你有不同版本的插件和依赖项

    在您的项目级别 build.gradle 文件或 Settings.gradle 文件中检查您尚未更新的 kotlin 版本,而您已更新您的依赖项,只需将 kotlin 版本更改为 1.7.0

    【讨论】:

      【解决方案5】:

      在我的情况下,将任何新模块添加到项目后发生构建错误。

      出于某种原因,Android Studio (2021.2.1) 正在改变 org.jetbrains.kotlin:kotlin-gradle-plugin 添加模块后主 build.gradle 文件中的版本,将其版本升级到最新版本。这就提出了上面提到的问题。如果是这种情况,只需还原此更改。

      【讨论】:

        【解决方案6】:

        当我像这样添加它时问题解决了

        plugins {
                    id 'androidx.navigation.safeargs' version '2.4.1'
                    id 'dagger.hilt.android.plugin'
                    id "org.jetbrains.kotlin.plugin.parcelize" version "1.6.0-M1"
                    id 'com.android.library'
                    id 'org.jetbrains.kotlin.android' version '1.7.0'
                }
            
              resolutionStrategy {
                    eachPlugin {
                        if (requested.id.id == 'dagger.hilt.android.plugin') {
                            useModule("com.google.dagger:hilt-android-gradle-plugin:2.42")
                        }
                        if (requested.id.id == 'com.google.gms.google-services') {
                            useModule("com.google.gms:google-services:4.3.10")
                        }
                    }
                }
        

        【讨论】:

          猜你喜欢
          • 2022-11-25
          • 2022-11-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-10-21
          • 2016-02-13
          • 1970-01-01
          • 2021-06-20
          相关资源
          最近更新 更多