“模块是用不兼容的 Kotlin 版本编译的。其元数据的二进制版本是 1.5.1,预期版本是 1.1.16”

Sah*_*dia 45 android kotlin android-studio

我是 Kotlin 应用程序开发的初学者。当我尝试构建应用程序时发生以下错误 -

e: C:/Users/Lenovo/.gradle/caches/transforms-2/files-2.1/32f0bb3e96b47cf79ece6482359b6ad2/jetified-kotlin-stdlib-jdk7-1.5.0.jar!/META-INF/kotlind-modulestd_kotlind : 模块是用不兼容的 Kotlin 版本编译的。其元数据的二进制版本为 1.5.1,预期版本为 1.1.16

在此处输入图片说明

是关于更新模块吗?那怎么更新呢?

Ali*_*aza 51

对于仍在寻找答案的人,这里是此问题的有效解决方案。在您的项目级 gradle 文件中,只需将 ext.kotlin.version 从您拥有的任何版本增加到“1.4.32”或任何可用的最新版本。谢谢

  • 它确实有效,但你能告诉我它是如何工作的吗? (7认同)
  • 是的,在“gradle-wrapper-properties”文件中将“gradle-6.7.1”的版本更改为“gradle-6.9”,并更改“ext.kotlin-version = '1.4.32”可以解决该问题。 (5认同)
  • 在“flutter@2.5.2”项目中设置为“1.5.31”为我解决了这个问题。 (5认同)
  • 这并没有解决我的问题。对我有用的是 - 当我添加另一个比我使用的 kotlin 库晚发布的库时,我得到了这个错误。因此,当我用比 kotlin 版本更旧的版本替换添加的库时,我的问题就解决了。希望这可以帮助。 (5认同)

Ved*_*ngh 46

我在 IntelliJ IDEA 版本:Ultimate 2019.3 中遇到了同样的问题

当我多次更改 jar 版本并单击调试按钮运行应用程序时出现问题。

当我使用以下步骤时问题已解决:

打开 IntelliJ >> 构建 >> 重建项目。

之后我再次运行该应用程序,它对我有用。


Sir*_*lot 35

从 Kotlin 更新1.4.301.5.0. 似乎是某种Gradle缓存问题。我能够通过更新Gradle6.7.1到解决它6.9(或任何其他版本)。

只需转到gradle-wrapper.properties并更改此行

distributionUrl=https://services.gradle.org/distributions/gradle-6.7.1-all.zip

distributionUrl=https://services.gradle.org/distributions/gradle-6.9-all.zip

  • @KishanSolanki 你能解释一下为什么吗?阿里·拉扎的回答对我没有帮助! (12认同)
  • 我仍然收到错误 (11认同)
  • 不要这样做。只需按照 Ali Raza 的回答即可。 (3认同)

Dyn*_*ris 21

我将 kotlin 版本更新到最新版本,这对我很有帮助。

这里

在此输入图像描述

并修复了 Android Studio 的黄色提示从这里 implementation "androidx.core:core-ktx:+"到这里 implementation "androidx.core:core-ktx:1.5.0"

在此输入图像描述

  • https://meta.stackoverflow.com/questions/285551/why-should-i-not-upload-images-of-code-data-errors-when-asking-a-question/285557#285557 (2认同)

小智 17

就我而言,我buildScript的. 相反,有一个块描述了我的 kotlin 版本。ext.kotlin_versionProjectRoot/build.gradleplugins

plugins {
    id 'com.android.application' version '7.2.2' apply false
    id 'com.android.library' version '7.2.2' apply false
    id 'org.jetbrains.kotlin.android' version '1.5.30' apply false
}
Run Code Online (Sandbox Code Playgroud)

更改org.jetbrains.kotlin.android1.7.10,例如:

plugins {
    id 'com.android.application' version '7.2.2' apply false
    id 'com.android.library' version '7.2.2' apply false
    id 'org.jetbrains.kotlin.android' version '1.7.10' apply false
}
Run Code Online (Sandbox Code Playgroud)

这终于成功了,希望能帮助别人。


小智 16

这个作品:

your_project_name_folder\android\build.gradle

将版本更改为: ext.kotlin_version = '1.4.32'

(dart/flutter2.2/vs 代码)

  • 这似乎没有为 [Ali Raza 6 月 3 日的回答](/sf/answers/4747168541/) 添加任何内容 (3认同)

met*_*ure 9

我必须更新 Kotlin Gradle 插件以匹配 Kotlin 标准库。在{project}/build.gradle

buildscript {
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:{kotlin version}"
    }
}
Run Code Online (Sandbox Code Playgroud)

我还删除了对标准库依赖项的标注,因为现在它已根据我的依赖项烘焙到 Gradle 中,尽管这不太直接相关。删除以下行{project}/{app module}/build.gradle

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:{kotlin version}"
    ...
}
Run Code Online (Sandbox Code Playgroud)

参考:异常错误博客文章


Zee*_*tar 8

就我而言,当我升级androidx.core:core-ktx:1.3.1到时出现问题androidx.core:core-ktx:1.6.0

在该库的发行说明中提到

注意:Core 和 Core-ktx 版本 1.5.0及以上版本将仅针对 Android 11 SDK 进行编译。**

https://developer.android.com/jetpack/androidx/releases/core#core_and_core-ktx_version_150_2

解决方案:将您的库降级到1.5.0并同步。如果是这种情况,那么错误就会消失。


Dat*_*ing 8

今天,当我使用最新的 Android Studio 将一个新项目添加到现有的大项目中时,我就发生了这种情况,但我找不到上述任何ext.kotlin_version地方来修复它。不管怎样,在将 build.gradle 文件与工作正常的新独立项目中的文件进行比较后,我发现1.6.0这里发生了变化:

dependencies {
    implementation 'androidx.core:core-ktx:1.6.0'
    ...
}
Run Code Online (Sandbox Code Playgroud)

解决1.3.2问题:

dependencies {

    implementation 'androidx.core:core-ktx:1.3.2'
    ...
}
Run Code Online (Sandbox Code Playgroud)


Ale*_*lex 7

未清除的 Gradle 缓存也可能是一个问题。我遇到了同样的问题,并通过删除.gradle/caches根文件夹中的目录来解决它。

脚步:

  • 删除caches该位置的目录,[RootFolder]/.gradle/caches
  • 使缓存无效并重新启动
  • 重建项目

参考:/sf/answers/1612070631/


Era*_*rlu 6

转到项目 build.gradle 并更新“ext.kotlin_version = 1.5.0”


Has*_*awy 5

首先,我们要知道冲突从何而来。

二进制版本 1.5.1 不是使用的 kotlin-stdlib 版本,可以通过检查依赖关系树得知。就我而言,我使用的是androidx.core:core-ktx:1.6.0,它依赖于 org.jetbrains.kotlin:kotlin-stdlib:1.5.10

kotlin-gradle-plugin预期版本取决于项目文件中使用的版本build.gradle

androidx.core:core-ktx所以就我而言,版本之间存在不兼容kotlin-gradle-plugin。为了解决这个冲突,我有两个选择。升级 KGP 或降级 ktx。

在build.gradle(项目)中

ext.kotlin_version = '1.3.40'     // not compatible with ktx:1.6.0
//  ext.kotlin_version = '1.4.31' // upgrading KGP fixes the issue
dependencies {
    classpath 'com.android.tools.build:gradle:3.5.2'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
Run Code Online (Sandbox Code Playgroud)

在 build.gradle(模块)中

//  implementation "androidx.core:core-ktx:1.2.0" // downgrading ktx fixes the issue
implementation "androidx.core:core-ktx:1.6.0"     // not compatible with kotlin_version = '1.3.40'
Run Code Online (Sandbox Code Playgroud)

在 gradle-wrapper.properties 中

distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
Run Code Online (Sandbox Code Playgroud)

这里的规则是选择发布日期与KGP发布日期接近的ktx版本。两者的链接都可以在下面找到。

https://developer.android.com/jetpack/androidx/releases/core

https://developer.android.com/studio/releases

https://developer.android.com/studio/releases/past-releases

https://developer.android.com/studio/releases/gradle-plugin


Anu*_*lot 5

自 2022 年 11 月 4 日起,RN 出现此问题,请参阅以下链接以获取解决方案。https://github.com/facebook/react-native/issues/35210