Supported platforms

Kotlin supports the following platforms and provides target presets for each platform. See how to use a target preset.

Target platformTarget presetComments
Kotlin/JVMjvm
Kotlin/JSjs

Select the execution environment:

  • browser {} for applications running in the browser.
  • nodejs{} for applications running on Node.js.

Learn more in Setting up a Kotlin/JS project.

Android applications and librariesandroid

Manually apply an Android Gradle plugin – com.android.application or com.android.library.

You can only create one Android target per Gradle subproject.

Android NDKandroidNativeArm32, androidNativeArm64

The 64-bit target requires a Linux or macOS host.

You can build the 32-bit target on any supported host.

iOSiosArm32, iosArm64, iosX64Requires a macOS host.
watchOSwatchosArm32, watchosArm64, watchosX86
tvOStvosArm64, tvosX64
macOSmacosX64Requires a macOS host.
LinuxlinuxArm64, linuxArm32Hfp, linuxMips32, linuxMipsel32, linuxX64

Linux MIPS targets (linuxMips32 and linuxMipsel32) require a Linux host.

You can build other Linux targets on any supported host.

WindowsmingwX64, mingwX86Requires a Windows host.
WebAssemblywasm32

A target that is not supported by the current host is ignored during building and therefore not published.