如果我只是用Kotlin编写,是否需要为Android Studio升级到Java 8?

时间:2019-08-19 01:17:24

标签: java android android-studio kotlin java-8

我正在处理一个使用Java的旧项目。它基于Java 7。 但这是所有Kotlin类的新代码。

在我们的摇篮中,它仍然是

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}

很好奇,是否需要升级到Java 8,如果继续前进,我将用Kotlin进行编写?

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

https://developer.android.com/studio/write/java8-support看来,执行上述操作的唯一原因是如果我们打算用Java 8编写。但是我很好奇,想避免不进行升级而错过一些新颖的Java优化程序,可以受益于Android中的Kotlin项目?

1 个答案:

答案 0 :(得分:7)

是的,您仍然应该升级到Java8。这主要是因为许多现代版本的密钥库,例如okhttp 3.13 and higher现在都需要Java8。此外,所有最新的AndroidX -ktx工件,例如Fragment's fragment-ktxWorkManager's work-runtime-ktx都需要Java 8。

Android's Java 8 Support blog post中:

  

即使您正在编写100%的Kotlin代码,Android的开发工具链和VM对新Java语言功能的支持仍然很重要。 Java的新版本在字节码和VM中带来了更有效的构造,而Kotlin可以利用它。

因此,随着对Java 8+的通用工具链支持的不断改进,由Kotlin代码生成的字节码也将继续改进。