代码之家  ›  专栏  ›  技术社区  ›  Elye

如果我只是在Kotlin写的话,我需要升级到Java 8的Android工作室吗?

  •  1
  • Elye  · 技术社区  · 6 年前

    我正在研究一个旧的项目,它使用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 回复  |  直到 6 年前
        1
  •  3
  •   ianhanniballake    6 年前

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

    Android's Java 8 Support blog post :

    Android的开发工具链和新的Java语言特征的VM支持即使在编写100% KOTLIN代码时仍然很重要。Java的新版本在字节码和VM中带来了更高效的结构,Kotlin可以利用它们。

    因此,当Java 8 +的通用工具链支持继续改进时,由KOTLIN代码生成的字节码也将继续改进。