android Kotlin是否需要JDK?

kqhtkvqz  于 2023-03-11  发布在  Android
关注(0)|答案(4)|浏览(443)

我已经很久没有使用Android了,但是现在我发现了一个新的术语,Kotlin,所以我的疑问是,Kotlin需要JDK吗?
如果Kotlin将取代Java,那么JDK就没有必要了,因为根据我的说法,JDK是用于在Java上开发的,对吗?
如果它是正确的,那么我有其他疑问(这已经是旧的),为什么JDK用于Android,如果这已经包括一个Android的SDK?
警察我快疯了我需要一个解释。

p1iqtdky

p1iqtdky1#

是的,在JVM上进行Kotlin开发需要JDK。
过去Kotlin使用的是JDK 1.6+目标,从Kotlin 1.5开始,Kotlin需要JDK 1.8(即Java 8)或更高版本。

g52tjvyc

g52tjvyc2#

如前所述,KotlinJVM需要JVM才能工作。Kotlin编译成JVM字节码,这意味着它与Java有相同的要求(运行时和开发工具包)。这也是Kotlin有Java互操作的原因。此外,这是你最有可能在Android上使用的一个。
但是有Kotlin Native,SDK本身和KotlinJVM略有不同,仍然是WIP,但是编译时不需要JVM,具体来说就是使用LLVM编译成原生目标,这个版本的Kotlin支持C interop。
KotlinNative也为Kotlin Multiplatform打开了大门,它可以编译成任何你想要的东西(移动的目标、桌面目标,它将所有目标打包成一个,并包括与本机编程语言的互操作)。**注意:**我不确定Kotlin Native with Multiplatform编译成什么。一些演示项目在Android模块中使用Kotlin JVM,这表明它没有使用NDK风格的本机代码。多平台,比如Native,是实验性的。我也没有接触过多平台,但它似乎使用了声明函数和平台声明函数的组合。我不确定互操作在这里是如何工作的(从语言的Angular 来说-而不是模块互操作)。
尽管Multiplatform不需要Native,但是它支持更多的平台。如果你使用跨平台的Java库(例如LibGDX),或者构建在有内核和平台的模块上,你也可以使用Multiplatform。但是,注意这可能需要JDK,尽管它取决于你的项目。
除此之外,还有Kotlin.JS,顾名思义,它可以编译成JavaScript。与KotlinJVM不同,它自然不需要JVM。但是,它需要与JavaScript相关的API。正如您所期望的,Kotlin.JS支持JavaScript互操作。

TL;DR:

KotlinNative和Kotlin JS不需要JDK,因为它们编译的目标不在JVM上。

hl0ma9xz

hl0ma9xz3#

是的!Kotlin1.1.2(及更高版本)需要JDK。
另外,非常重要的是,Kotlin不应该“取代”Java。这是另一个非常常见的错误观念。Kotlin只是被添加到编写Android应用程序所支持的语言列表中。
你可以点击下面的链接来了解这种语言的历史:https://en.wikipedia.org/wiki/Kotlin_(programming_language)

p5cysglq

p5cysglq4#

Kotlin编译成jvm字节码。它需要一个jvm。它可以用来代替Java语言

相关问题