lintAnalyzeDebug 中的 Kotlin 版本来自哪里?

Vit*_*nov 6 android gradle kotlin android-gradle-plugin kotlin-multiplatform

我已在我的 KMM 项目中从 Kotlin 1.7 升级到 Kotlin 1.9。虽然我有 Gradle 7.6 AGP 7.4.2

升级后,lintAnalyzeDebug 任务报告每个依赖项的错误:模块是使用不兼容的 Kotlin 版本编译的。其元数据的二进制版本是1.9.0,预期版本是1.7.1。

我知道我可以禁用 lint 检查,但如果可能的话我想保留它。据我了解,Gradle使用的版本是1.7.1。我无法升级 Gradle,因为 Idea 无法正确与 Gradle 8 配合使用。我不明白的是为什么会抛出这个错误。其他一切都可以很好地与 Kotlin 1.9 配合使用。为什么只有 lint 有问题?

有没有地方需要修复用于 lint 的 Kotlin 版本?

the*_*_jk 7

您可以通过添加以下内容来更新使用的 lint 版本:

android.experimental.lint.version=8.1.0-rc01
Run Code Online (Sandbox Code Playgroud)

到 gradle.properties。

这是必需的,因为 AGP 7.4.2(甚至 AGP 8.0.2)中包含的默认 lint 版本与 1.7 的 kotlin 编译器插件链接,该插件可处理 kotlin 1.8 及以上版本。
因此,要支持 kotlin 1.9.x,您需要一个至少链接 kotlin-compiler 插件 1.8、8.1.0-rc01 的 lint 版本。

此谷歌跟踪器问题的更多信息:https ://issuetracker.google.com/issues/185418482