ChatGPT解决这个技术问题 Extra ChatGPT

"Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.16"

I am a beginner in Kotlin App Development. The following error is occurred when I tried to build the app -

e: 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: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.16

https://i.stack.imgur.com/yG6Kj.jpg

Is it about updating the module? Then how to update it?

Can you show up your app and project build.gradle
In my case problem occurs with the Jetpack DataStore library. I removed it and rebuild. the problem removed, but don't able to know why this happens.!!!

A
Ali Raza

For someone who is still looking for answer to this, here is the working solution for this problem. In your project level open build.gradle file, increase the ext.kotlin_version from whatever current version that you have like 1.5.0, to the latest stable version 1.6.0 (Whatever is latest at that time). Thanks

You can get latest version from here:

https://kotlinlang.org/docs/releases.html#release-details


It does work, but could you please tell me how it works.
From what I think, Sometimes, Android Studio stops supporting Kotlin Older versions, especially when your android studio is up to date. This is just my thinking, I also don't know the exact reason. But this solution works for sure everytime.
In My case, this problem arose, when I updated some plugins in Android Studio.
Yes changing the version of gradle-6.7.1 to gradle-6.9 in gradle-wraper-properties file and also changing the ext.kotlin-version = '1.4.32' resolve the issue.
Setting to 1.5.31 in a flutter@2.5.2 project fixed it for me.
S
Sir Codesalot

Happened to me when updating from Kotlin 1.4.30 to 1.5.0. Seems to be some sort of Gradle caching issue. I was able to resolve it by updating Gradle from 6.7.1 to 6.9 (or any other version).

Just go to gradle-wrapper.properties and change this line from

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

to

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


Don't do this. Just follow Ali Raza's answer.
@KishanSolanki could you please explain why? Ali Raza's answer didn't help me!
Ali's answer didn't work for me either error remained the same
Many answers and comments are very specific to versions that are now outdated. A more generic answer would have been more helpful.
V
Ved Singh

I was facing same issue in IntelliJ IDEA Version: Ultimate 2019.3

Issue occurred when I changed jar version multiple times and click on debug button to run the application.

Issue fixed when i used below steps:

Open IntelliJ >> Build >> Rebuild Project.

After that I run the application again and it worked for me.


D
Dyno Cris

I updated kotlin versions to latest and it helped me.

Here

https://i.stack.imgur.com/0q6rT.png

And fixed yellow prompt by Android Studio from this implementation "androidx.core:core-ktx:+" to this implementation "androidx.core:core-ktx:1.5.0"

https://i.stack.imgur.com/F6PUW.png


D
Dharman

In my case Problem occurs when I upgrade androidx.core:core-ktx:1.3.1 to androidx.core:core-ktx:1.6.0

In release notes of this library mentioned that

Note: Core and Core-ktx Version 1.5.0 and above versions will only compile against the Android 11 SDK.**

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

Solution: downgrade your library below to 1.5.0 and sync. if this is the case then the error will be gone.


This is the best answer to solve the problem.
D
Datow King

This happened to me today when I added a new project to an existing big project with latest Android Studio, but I could not find the above-mentioned ext.kotlin_version anywhere to fix it. Anyway, after comparing the build.gradle file with the one from a new standalone project that works fine, I found out that changing 1.6.0 in here:

dependencies {
    implementation 'androidx.core:core-ktx:1.6.0'
    ...
}

to 1.3.2 fixes the issue:

dependencies {

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

E
Eray Hamurlu

Go project build.gradle and update "ext.kotlin_version = 1.5.0"


m
methodsignature

I had to update the Kotlin Gradle plugin to match Kotlin standard library. In {project}/build.gradle.

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

I also removed callout to dependency on standard library as that is now baked into Gradle based on my dependencies, though this is less directly related. Delete this line in {project}/{app module}/build.gradle:

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:{kotlin version}"
    ...
}

Reference: Exception Error blog post


F
Fazal Hussain

If anyone face this issue in future kindly check the following versions of dependencies and classpath

ext.kotlin_version = "1.4.32"

Esure that the gradle-wrapper.properties has the compitable distribution url with your kotlin version

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

App level build.gradle check

implementation 'androidx.core:core-ktx:1.5.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.3'

Note: Check these dependencies it might be causing the issue, In my case coroutines-android was using 1.6.0-RC2 which is very latest version of coroutine then I checked the github releases and got the right version for my project gradle configuration

You can check the kotlinx-coroutines-android version from github releases section

https://github.com/Kotlin/kotlinx.coroutines/releases

You can also check the core-ktx version from developer.android.com

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


A
Akki

Recently my Jenkins build was failing with similar lines of error messages. And tried below to mitigate the issue:

Possible Reasons:

Offline work mode is ON in the Gradle settings options which failing some dependencies while compilation Updated Android Studio stop supporting older Kotlin version. (very less likely) Incompatible Gradle distribution version wrt Gradle plugin (com.android.tools.build:gradle) Gradle caching issue From the error statement it seems the module was compiled with an incompatible version of Kotlin. For example you have added some sdk dependency in your project which was compiled with different (incompatible) kotlin version than your app is using.

Possible Solutions:

Offline work mode should be turned OFF in the Gradle settings options, Restart the Kotlin plugin and restart the Android Studio Remove/upgrade the newly added sdk dependency from your project Validate if the Gradle distribution version is compatible with Android grade plugin here Change the “distributionUrl” url according to latest version (or higher version) in gradle-wrapper.properties Command Line (better way): `./gradlew wrapper --gradle-version X.Y.Z'. Manual: change the distributionUrl property in the Wrapper’s gradle-wrapper.properties file. find the latest version of Gradle that is going to use in gradle-wrapper.properties from here Upgrade the Kotlin version: The ext.kotlin.version from whatever version you have, to '1.4.32' or whatever the latest version is available here

Please note there could be many possible reason and so that the solution. In My case the combination of solution#5 & 6 worked well.


Yup, #5 & 6 for me as well
T
Tor Brick

After putting off dealing with this for almost a year, the solution was very easy to implement after finding.

I had to replace the deprecated jcenter() with mavenCentral() in my build.gradle file in the "repositories" section.


T
Toshal Agrawal

Uncleared Gradle cache could also be an issue. I faced this same issue and resolved it by deleting .gradle/caches directory in the root folder.

Steps:

Delete caches directory in the location, [RootFolder]/.gradle/caches

Do Invalidate Caches And Restart

Rebuild project

Refer: https://stackoverflow.com/a/23029580/10506244


S
Salahuddin Ahmed

For me I had to update Android Studio to 4.2.2. Update gradle to 7.0. As well as perform the kotlin migration(might not have had anything to do with it). And lastly updated my ext.kotlin_version to 1.5.20. After all of that I invalidated caches and restarted Android studio.


h
heathkev

https://i.stack.imgur.com/eXDcJ.png

kotlin_version = '1.4.32'

AND

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

A
AR Hakim

I had this problem yesterday. The solution is to change the kotlin version in build.gradle to 1.5.0 and change the Gradle version in the project structure to 6.9.

ext.kotlinVersion = '1.5.0'

https://i.stack.imgur.com/m2KSX.png


C
Charly Monzon

After 4 hours testing different versions of Kotlin being my project NOT A KOTLIN PROJECT this solution solved my life:

Go to Intellij and disable the Kotlin plugin. Then compile everything again.


For me this crashed AndroidStudio and it would not start anymore. I had to manually fix the disabled_plugins.txt to make it work again.
Oh I am sorry to hear that!
Android studio stopped opening
On IntelliJ and not using or care about kotlin at all, disabling kotlin puglin actually works! This gives me a hint that the issue might be coming from intellij plugin that use kotlin.
Y
Yasser Benmman

In your build.gradle file, increase the ext.kotlin_version to 1.6.0

ext.kotlin_version = '1.6.0'

s
shehzy

I just updated everything to the latest version. And the latest mentioned by the android studio itself.

e.g

    ext.kotlin_version = '1.5.20'

    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.4.0-alpha04"
    }

And

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

In gradle-wrapper.properties


К
Кobak

Create new project again helped for me :| And if you need to fix another project you may try copy android/build.gradle and android/app/build.gradle from new flutter project template to an other project.


Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.
m
mainsh agrahari

Finally, the working solution is that we need to upgrade your kotlin version from your project build.gradle file.


g
gtxtreme

The actual issue why this happens is because of incompatibility with the kotlin compiler version and the gradle plugin version

I spawned up a new Android project in Chipmunk and I find that the kotlin_version variable under the ext block is not there and build.gradle will hardcode the kotlin version

So change your build.gradle (global) like this

buildscript {
    ext {
        compose_version = '1.2.0-beta02'
        kotlin_version = '1.6.21'// This might be missing, you can add it
    }
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.2.0"
    


// Do not hardcode this version, instead make it rely on the global variable you declared on top

//No
//classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.20"
//Yes
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "com.google.dagger:hilt-android-gradle-plugin:2.38.1"
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}



M
Mounir bkr

you have juste rebuild your project:

Open IntelliJ IDE Build Rebuild Project


H
Hasan El-Hefnawy

First, we need to know where the conflict comes from.

The binary version 1.5.1 isn't the version of kotlin-stdlib used which can be known by examining the dependency tree. In my case, I was using androidx.core:core-ktx:1.6.0 which depends on org.jetbrains.kotlin:kotlin-stdlib:1.5.10

The expected version depends on the version of kotlin-gradle-plugin used in build.gradle project file.

So in my case, there was incompatibility between androidx.core:core-ktx and kotlin-gradle-plugin version. To resolve the conflict, I had two options. Either upgrade KGP or downgrade ktx.

In build.gradle (Project)

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"
}

In build.gradle (Module)

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

In gradle-wrapper.properties

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

The rule here is to choose a ktx version whose release date is close to the release date of KGP. Links of both can be found below.

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


a
actualadam

Why simply upgrading the Kotlin version works: At least one of your dependencies was compiled against a version of Kotlin that is not backward compatible with the Kotlin version you are compiling your app or lib against.

Alternatively, you can find out which dependency it is and downgrade it. However, this can be limiting, so upgrade Kotlin versions if you can.

Remember the pain, and if you ever write a Kotlin library for others to use, consider being conservative in the Kotlin version you compile against, and list that version in the release notes.


关注公众号,不定期副业成功案例分享
Follow WeChat

Success story sharing

Want to stay one step ahead of the latest teleworks?

Subscribe Now