gradle lintAnalyzeDebug中的Kotlin版本来自哪里?

ljsrvy3e  于 2023-08-06  发布在  Kotlin
关注(0)|答案(2)|浏览(243)

我已经在我的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。我不明白的是为什么会抛出这个错误。其他一切都可以在Kotlin1.9中很好地工作。为什么只有lint有问题?
有什么地方我需要修复用于lint的Kotlin版本吗?

mtb9vblg

mtb9vblg1#

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

  1. android.experimental.lint.version=8.1.0-rc01

字符串
到gradle.properties。
这是必要的,因为AGP 7.4.2(甚至AGP 8.0.2)中包含的默认lint版本与1.7的kotlin编译器插件链接,该插件可以处理kotlin 1.8。
因此,要支持Kotlin1.9.x,您需要一个lint版本,至少链接kotlin编译器插件1.8,8.1.0-rc 01。
更多关于Google Tracker的文章:https://issuetracker.google.com/issues/185418482

7y4bm7vi

7y4bm7vi2#

您可以尝试将其添加到build.gradle文件中

  1. android {
  2. lintOptions {
  3. lintChecks = ["NewerVersion"]
  4. }
  5. }

字符串
其中NewerVersion是与Kotlin1.9配合良好的lint版本

相关问题