Spec-Zone.ru › Kotlin 2

Поддерживаемые целевые платформы и хосты Kotlin/Native

В этом документе описано, какие целевые платформы и хосты поддерживаются компилятором Kotlin/Native.

Мы можем корректировать список поддерживаемых целевых платформ и хостов, количество уровней и их особенности по мере необходимости.

Уровни целевых платформ

Компилятор Kotlin/Native поддерживает различные целевые платформы, однако уровень поддержки для них отличается. Чтобы прояснить эти уровни, мы разделили целевые платформы на несколько уровней в зависимости от того, насколько хорошо компилятор их поддерживает.

Таблицы уровней содержат следующие столбцы:

  • Имя целевой платформы в Gradle — это имя целевой платформы, которое используется в плагине Kotlin Multiplatform для Gradle, чтобы включить целевую платформу.

  • Тройка целевой платформы — это имя целевой платформы в соответствии со структурой <architecture>-<vendor>-<system>-<abi>, которую обычно используют компиляторы.

  • Запуск тестов показывает, позволяет ли целевая платформа запускать тесты в Gradle и IDE без дополнительной настройки (не путайте с CI-тестами, которые запускаются для самих целевых платформ).

    Это доступно только на нативном хосте для конкретной целевой платформы. Например, тесты macosArm64 и iosArm64 можно запускать только на хосте macOS ARM64.

Уровень 1

  • Целевая платформа регулярно тестируется в CI на возможность компиляции и запуска.

  • Мы обеспечиваем совместимость исходного кода и двоичных файлов между выпусками компилятора.

Имя целевой платформы в Gradle

Тройка целевой платформы

Запуск тестов

Описание

Только хосты Apple macOS:

macosArm64

aarch64-apple-macos

✅

Apple macOS 12.0 и более поздние версии на платформах Apple Silicon

iosSimulatorArm64

aarch64-apple-ios-simulator

✅

Симулятор Apple iOS 15.0 и более поздних версий на платформах Apple Silicon

iosArm64

aarch64-apple-ios

Apple iOS и iPadOS 15.0 и более поздние версии на платформах ARM64

Уровень 2

  • Целевая платформа регулярно тестируется в CI на возможность компиляции, однако возможность запуска может не проверяться автоматически.

  • Мы прилагаем все усилия, чтобы обеспечить совместимость исходного кода и двоичных файлов между выпусками компилятора.

Имя целевой платформы в Gradle

Тройка целевой платформы

Запуск тестов

Описание

linuxX64

x86_64-unknown-linux-gnu

✅

Linux на платформах x86_64

linuxArm64

aarch64-unknown-linux-gnu

Linux на платформах ARM64

Только хосты Apple macOS:

watchosSimulatorArm64

aarch64-apple-watchos-simulator

✅

Симулятор Apple watchOS 8.0 и более поздних версий на платформах Apple Silicon

watchosArm64

arm64_32-apple-watchos

Apple watchOS 8.0 и более поздние версии на платформах ARM64 с ILP32

tvosSimulatorArm64

aarch64-apple-tvos-simulator

✅

Симулятор Apple tvOS 15.0 и более поздних версий на платформах Apple Silicon

tvosArm64

aarch64-apple-tvos

Apple tvOS 15.0 и более поздние версии на платформах ARM64

Уровень 3

  • Не гарантируется, что целевая платформа будет тестироваться в CI.

  • Мы не можем гарантировать совместимость исходного кода и двоичных файлов между различными выпусками компилятора, хотя такие изменения для этих целевых платформ встречаются довольно редко.

Целевые платформы уровня 3 активно не разрабатываются и могут иметь критические проблемы. Используйте их с осторожностью.

Имя целевой платформы в Gradle

Тройка целевой платформы

Запуск тестов

Описание

androidNativeArm32

arm-unknown-linux-androideabi

Android NDK на платформах ARM32

androidNativeArm64

aarch64-unknown-linux-android

Android NDK на платформах ARM64

androidNativeX86

i686-unknown-linux-android

Android NDK на платформах x86

androidNativeX64

x86_64-unknown-linux-android

Android NDK на платформах x86_64

mingwX64

x86_64-pc-windows-gnu

✅

64-разрядная Windows 10 и более поздние версии с использованием слоя совместимости MinGW

Только хосты Apple macOS:

watchosDeviceArm64

aarch64-apple-watchos

Apple watchOS 8.0 и более поздние версии на платформах ARM64

iosX64

x86_64-apple-ios-simulator

Симулятор Apple iOS 15.0 и более поздних версий на платформах x86-64

Устаревшие целевые платформы

Следующие целевые платформы устарели и запланированы к удалению:

Целевая платформа

Начало вывода из эксплуатации

Описание

watchosArm32

Kotlin 2.4.20

Устройства Apple watchOS на платформах ARM32

macosX64

Kotlin 2.3.20

Apple macOS на платформах x86_64

watchosX64

Kotlin 2.3.20

64-разрядный симулятор Apple watchOS на платформах x86_64

tvosX64

Kotlin 2.3.20

Симулятор Apple tvOS на платформах x86_64

linuxArm32Hfp

Kotlin 1.8.20

Linux на платформах ARM32

Поддержка более ранних версий целевых платформ Apple

В настоящее время минимальные версии целевых платформ Apple, поддерживаемые по умолчанию, следующие:

  • Для iOS и tvOS — 15.0.

  • Для macOS — 12.0.

  • Для watchOS — 8.0.

Если вашему проекту необходимо поддерживать версию ниже указанной по умолчанию, используйте параметр freeCompilerArgs в файле сборки:

kotlin {
    targets.withType<org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget>().configureEach {
        binaries.configureEach {
            freeCompilerArgs += "-Xoverride-konan-properties=minVersion.ios=14.0"
            freeCompilerArgs += "-Xoverride-konan-properties=minVersion.macos=11.0"
            freeCompilerArgs += "-Xoverride-konan-properties=minVersion.tvos=14.0"
            freeCompilerArgs += "-Xoverride-konan-properties=minVersion.watchos=7.0"
        }
    }
}

Для авторов библиотек

Мы не рекомендуем авторам библиотек тестировать больше целевых платформ или предоставлять более строгие гарантии, чем компилятор Kotlin/Native. При рассмотрении поддержки нативных целевых платформ можно придерживаться следующего подхода:

  • Поддерживайте все целевые платформы уровней 1, 2 и 3.

  • Регулярно тестируйте целевые платформы уровней 1 и 2, на которых тесты запускаются без дополнительной настройки.

Команда Kotlin придерживается этого подхода в официальных библиотеках Kotlin, например, в kotlinx.coroutines и kotlinx.serialization.

Хосты

Компилятор Kotlin/Native поддерживает следующие хосты:

ОС хоста

Сборка готовых двоичных файлов

Создание артефактов .klib

macOS на Apple Silicon (ARM64)

Любая поддерживаемая целевая платформа

Любая поддерживаемая целевая платформа

macOS на процессорах Intel (x86_64)

Любая поддерживаемая целевая платформа

Любая поддерживаемая целевая платформа

Linux с архитектурой x86_64

Любая поддерживаемая целевая платформа, кроме целевых платформ Apple

Любая поддерживаемая целевая платформа; целевые платформы Apple — только без зависимостей cinterop

Windows (инструментарий MinGW) с архитектурой x86_64

Любая поддерживаемая целевая платформа, кроме целевых платформ Apple

Любая поддерживаемая целевая платформа; целевые платформы Apple — только без зависимостей cinterop

Сборка готовых двоичных файлов

Для создания готовых двоичных файлов компилировать можно только для поддерживаемых целевых платформ и только на поддерживаемых хостах. Например, это невозможно сделать во FreeBSD или на компьютере с Linux и архитектурой ARM64.

Собирать готовые двоичные файлы для целевых платформ Apple в Linux и Windows также невозможно.

Создание артефактов .klib

В целом Kotlin/Native позволяет создавать артефакты .klib для поддерживаемых целевых платформ на любом поддерживаемом хосте.

Однако создание артефактов для целевых платформ Apple в Linux и Windows по-прежнему имеет некоторые ограничения. Если в проекте используются зависимости cinterop (в том числе CocoaPods), необходимо использовать хост macOS.

Например, создать .klib для целевой платформы macosArm64 на компьютере с Windows и архитектурой x86_64 можно только при отсутствии зависимостей cinterop.

Что дальше?

  • Сборка готовых нативных двоичных файлов

  • Компиляция для целевых платформ Apple

19 августа 2026
Отладка Kotlin/NativeСоветы по ускорению компиляции

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/native-target-support.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API