Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android项目中的不同kotlin版本_Java_Android_Kotlin_Gradle - Fatal编程技术网

Java android项目中的不同kotlin版本

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:

  • 该项目包括Kotlin
    1.3.72
  • 一些库(
    okhttp
    )包括Kotlin
    1.4.10
    。(我们现在将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(版本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建议。救了我的一天,谢谢。