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

236
当我尝试构建应用程序时,出现了以下错误:

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

screenshot

这是关于更新模块吗?那么如何更新呢?


2
你能展示一下你的应用程序和项目的 build.gradle 文件吗? - Ananiya Jemberu
在我的情况下,Jetpack DataStore库出现了问题。我将其移除并重新构建。问题解决了,但是不知道为什么会出现这种情况!!! - Zeeshan Akhtar
18
为什么提问时不上传代码错误的图片? - Stephan Vierkant
13
请勿在提问时上传代码、数据或错误的图像。 - Donald Duck
36个回答

275
如果您还在寻找答案,这里是解决此问题的有效方案。在您的项目级别中打开build.gradle文件,将ext.kotlin_version从当前版本(如1.5.0)增加到最新稳定版本1.6.0(当时的最新版本)。感谢。 您可以在此处获取最新版本:https://kotlinlang.org/docs/releases.html#release-details

7
可以的,但你能告诉我它是如何工作的吗? - Justin
1
据我所知,有时候Android Studio会停止支持较旧版本的Kotlin,尤其是当你的Android Studio已经更新到最新版本时。这只是我的想法,我也不知道确切的原因。但是这个解决方案肯定每次都有效。 - Ali Raza
5
ه°†gradle-wrapper-propertiesو–‡ن»¶ن¸­çڑ„gradle-6.7.1版وœ¬و›´و”¹ن¸؛gradle-6.9,ه¹¶و›´و”¹ext.kotlin-version='1.4.32',هچ³هڈ¯è§£ه†³è¯¥é—®é¢کم€‚ - Akki Jangir
5
flutter@2.5.2 项目中的设置更改为 1.5.31 可以解决此问题。 - Nick Ribal
4
这并没有解决我的问题。对我有用的是 - 当我添加了一个比我使用的Kotlin库发布得更晚的另一个库时,我遇到了这个错误。因此,当我用比Kotlin版本旧的版本替换了添加的库时,我的问题得到了解决。希望这可以帮到你。 - truespan
显示剩余11条评论

68
在更新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


13
不要这样做。只需遵循Ali Raza的答案即可。 - Kishan Solanki
11
@KishanSolanki,你能否解释一下为什么?Ali Raza的回答对我没有帮助! - Sir Codesalot
1
阿里的答案对我也不起作用,错误依旧。 - marchinram
许多答案和评论非常特定于现在已过时的版本。更通用的答案会更有帮助。 - Ingo Steinke
我刚在android/build.gradle文件中添加了一个新版本。实际上,如果您遇到kotlin版本错误,它会带您进入kotlin网站,您可以从那里复制版本并将其放入android/build.gradle文件中。但有时您可能需要从dependencies { classpath 'com.android.tools.build:gradle:7.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" }获取正确的版本。如果您将鼠标悬停在上面,它会告诉您正确的版本并将其放在那里。 - dylan
这个解决方案不起作用。 - undefined

45

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

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

遵循以下步骤解决了这个问题:

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

之后再次运行应用程序,问题得以解决。


21

我将Kotlin版本更新为最新版本,这有助于我的工作。

在这里:

enter image description here

并通过将以下代码

implementation "androidx.core:core-ktx:+"

从此

enter image description here

修复了Android Studio的黄色提示,改为以下代码

implementation "androidx.core:core-ktx:1.5.0"

2
https://meta.stackoverflow.com/questions/285551/why-should-i-not-upload-images-of-code-data-errors-when-asking-a-question/285557#285557 - Winter
在哪些文件中? - CodeBy

15

在我的情况下,我的ProjectRoot/build.gradle中没有buildScript块或ext.kotlin_version。相反,有一个描述我的Kotlin版本的plugins块。

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
}

org.jetbrains.kotlin.android 更改为 1.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
}

这个最终得以解决,希望能帮助到其他人。


9

我需要更新Kotlin Gradle插件以匹配Kotlin标准库,在{project}/build.gradle中进行修改。

buildscript {
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:{kotlin version}"
    }
}

我已经根据我的依赖项将标准库的调用删除了,因为它现在已经集成到基于Gradle的依赖项中,但这与直接相关性较小。 在{project}/{app module}/build.gradle中删除此行:
dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:{kotlin version}"
    ...
}

参考资料:Exception Error博客文章


8
今天我在最新版的Android Studio中向一个已有的大项目添加一个新项目时,遇到了这个问题。但是我无法找到上述的ext.kotlin_version来解决它。无论如何,在将构建.gradle文件与正常工作的新独立项目的文件进行比较后,我发现应该更改这里的1.6.0
dependencies {
    implementation 'androidx.core:core-ktx:1.6.0'
    ...
}

更新到 1.3.2 版本修复了该问题:

dependencies {

    implementation 'androidx.core:core-ktx:1.3.2'
    ...
}

8

6

打开Go项目的build.gradle文件,更新"ext.kotlin_version = 1.5.0"


5
首先,我们需要知道冲突的来源。
二进制版本1.5.1不是使用的kotlin-stdlib版本,可以通过检查依赖树来确定。在我的情况下,我正在使用androidx.core:core-ktx:1.6.0,它依赖于org.jetbrains.kotlin:kotlin-stdlib:1.5.10。
预期的版本取决于kotlin-gradle-pluginbuild.gradle项目文件中使用的版本。
因此,在我的情况下,androidx.core:core-ktxkotlin-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"
}

在 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'

在gradle-wrapper.properties中
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

这里的规则是选择一个发布日期与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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接