先天踩坑圣体,每天都在遇到各种问题。最近引入了一个最新版本的Coil库:
//https://github.com/coil-kt/coil implementation("io.coil-kt:coil:2.7.0")
结果就编译报错,编译不过去了:Class 'coil.request.Disposable' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 2.0.0, expected version is 1.8.0.
显然是引入的库编译所用的Kotlin版本和项目中使用的Kotlin版本不兼容导致,有两个解决方法:
项目中用到的Kotlin版本过低,可以到plugins.gradle.org/plugin/org.jetbrains.kotlin.android官网查看最新的Kotlin发行版本选择升级:
plugins { id("org.jetbrains.kotlin.android") version "2.0.20-RC2" }
可能还需要升级其它一些gradle插件及依赖库,可以去Android官网查询:Android Gradle plugin API reference。
如果项目不方便升级Kotlin版本,牵一发而动全身。Kotlin官方库都会用最新的版本去编译,可以选择适当降低引入依赖库的版本(够用就行,没必要追求过新)。
比如这个问题就可以降低到 2.1.0以下解决,还没有用那么新的Kotlin库去编译。
//使用koltin 1.8+ 编译 implementation("io.coil-kt:coil:2.1.0")
相关链接:
plugins.gradle.org/plugin/org.jetbrains.kotlin.android
Android Gradle plugin API reference