Android Studio 2.3.3; Kotlin插件:1.1.4; Kotlin编译器:Kotlin到JVM:1.6。
Android Studio>新项目>在Project动作中配置Kotlin添加 参考kotlin-stdlib-jre7到gradle文件。 我希望kotlin-stdlib因为我们Kotlin的目标JVM是1.6。
没有找到好的解释。 例如。 this answer表示
kotlin-stdlib-jre7工件不适用于Android,后者目前仅支持Java 6平台。在定位Android时,您应该使用为JRE 6构建的kotlin-stdlib
答案 0 :(得分:6)
Android已经支持Java 7多年了。实际上,Java 8的部分支持正在开始,最初是Jack toolchain,目前是desugaring in the default toolchain。
所以,kotlin-stdlib-jre7
完全没问题。
正如您在this answer中看到的那样,kotlin-stdlib
在1.1中获得了两个额外的扩展库kotlin-stdlib-jre7
和kotlin-stdlib-jre8
。此库为Java 7和Java 8添加了特定功能,并包含kotlin-stdlib
作为传递依赖项。另请参阅Kotlin 1.1 release notes:
Java 8标准库支持
现在有标准库的单独版本支持Java 7和8中添加的新JDK API。如果需要访问新API,请使用kotlin-stdlib-jre7和kotlin-stdlib-jre8 maven artifacts而不是标准kotlin-stdlib。这些工件是kotlin-stdlib之上的微小扩展,它们将它作为传递依赖项带到您的项目中。
当前版本的Android Studio中的Kotlin插件在项目中配置Kotlin时添加kotlin-stdlib-jre7
作为依赖项,因为Android Studio和构建工具从Android Studio 0.3.2, released in October 2013开始以向后兼容的方式支持Java 7。另见Does Android support JDK 6 or 7。具体来说,发行说明指出:
此版本的主要功能是支持Android KitKat:
支持钻石操作符,多次捕获,资源尝试,交换机中的字符串等语言功能。 创建新项目时,您可以指定源语言级别:
和
请注意,您可以使用所有这些语言功能,不仅适用于Android KitKat,还适用于旧版本的Android!有一个例外:try-with-resources,这将需要minSdkVersion 19。