android项目中的不同kotlin版本

Dmi*_*try 3 java android gradle kotlin

如果我在项目和该项目的依赖项中有不同的 Kotlin 版本,我不知道会遇到什么问题。

选项1:

  • 该项目包括 Kotlin 1.3.72
  • 一些库(okhttp例如)包括 Kotlin 1.4.10。(我们现在为 Authenticator、Interceptor 等使用 Kotlin 1.4.x 功能接口。

选项 2:

  • 该项目包括 Kotlin 1.4.0
  • 一些库包括 Kotlin 1.3.71

在选项 2 中,我收到下一个警告:
w: 类路径中的运行时 JAR 文件应该具有相同的版本。这些文件位于类路径中: /.gradle/caches/transforms-2/files-2.1/ab41544fa06f7b55dec847efe3b9899c/jetified-kotlin-stdlib-jdk7-1.3.71.jar (version 1.3) .transforms-cache/s/文件-2.1 / a4c6c3b949eb40b555dea1468ae75f87 / jetified-科特林-STDLIB-1.4.10.jar(1.4版本).gradle /高速缓存/变换-2 /文件-2.1 / f98f62bf33e752598311020043618780 / jetified-科特林-STDLIB-共1.4.10.jar(版本 1.4)
w:类路径中的某些运行时 JAR 文件的版本不兼容。考虑从类路径中删除它们

Vit*_*y-T 8

/.gradle/caches/transforms-2/files-2.1/ab41544fa06f7b55dec847efe3b9899c/jetified-kotlin-stdlib-jdk7-1.3.71.jar(1.3版)

这可以通过将其包含在您的应用 build.gradle 依赖项中来解决:

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
Run Code Online (Sandbox Code Playgroud)

另外,我个人已经学会了添加以下依赖项来避免这些错误:

implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
Run Code Online (Sandbox Code Playgroud)

另外,请确保您ext.kotlin_version = "1.4.10"的项目中有 build.gradle