Java android项目中的不同kotlin版本
如果我在项目中和项目的依赖项中有不同的Kotlin版本,我无法找出我会遇到什么问题 备选案文1:Java android项目中的不同kotlin版本,java,android,kotlin,gradle,Java,Android,Kotlin,Gradle,如果我在项目中和项目的依赖项中有不同的Kotlin版本,我无法找出我会遇到什么问题 备选案文1: 该项目包括Kotlin1.3.72 一些库(okhttp)包括Kotlin1.4.10。(我们现在将Kotlin 1.4.x功能接口用于验证器、拦截器等。) 备选案文2: 该项目包括Kotlin1.4.0 一些库包括Kotlin1.3.71 在选项2中,我得到下一个警告: w:类路径中的运行时JAR文件应该具有相同的版本。在类路径中找到了以下文件: /.gradle/caches/trans
- 该项目包括Kotlin
1.3.72
- 一些库(
)包括Kotlinokhttp
。(我们现在将Kotlin 1.4.x功能接口用于验证器、拦截器等。)1.4.10
- 该项目包括Kotlin
1.4.0
- 一些库包括Kotlin
1.3.71
w:类路径中的运行时JAR文件应该具有相同的版本。在类路径中找到了以下文件: /.gradle/caches/transforms-2/files-2.1/ab41544fa06f7b55dec847efe3b9899c/jetified-kotlin-stdlib-jdk7-1.3.71.jar(版本1.3) .gradle/caches/transforms-2/files-2.1/A4C6C3B949EB40B55DEA1468AE75F87/jetified-kotlin-stdlib-1.4.10.jar(版本1.4) .gradle/caches/transforms-2/files-2.1/f98f62bf33e752598311020043618780/jetified-kotlin-stdlib-common-1.4.10.jar(版本1.4)
w:类路径中的一些运行时JAR文件的版本不兼容。从CassSPATH < /P> < P>/.Geld/Cache / Trase2/文件-2.1/AB41544 FA06F7B5DE88EFE3B9899C/ JTILIK-STDLB-JDK7 1.3.71.JAR(版本1.3)中删除它们 这可以通过在应用程序构建中包含此项来解决。gradle依赖项:
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
此外,我个人还学会了添加以下依赖项以避免这些错误:
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"
另外,请确保您的项目构建中有
ext.kotlin_version=“1.4.10”
。gradle您会遇到什么问题?当差异不仅存在于次要版本(如1.3.70/1.3.72)中,而且存在于1.3.x和1.4.x版本之间时,您可能会遇到风险,例如,一个库将使用在新版本中已更改其签名的函数,因此将出现运行时错误。这不一定会发生,但它可以发生(除非您确定您的依赖项库不使用任何已更改的函数)。如果您的项目目标是Java 8,那么只需包含对该Java版本的依赖项即可
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
如果您的目标是Java6或Java7,请遵循相同的规则
你在帖子
中阐明更多,然后考虑以下帖子中的R'J建议。救了我的一天,谢谢。