Добавление зависимостей в проект
Вы создали и настроили свой первый проект Kotlin Multiplatform! Теперь давайте узнаем, как добавлять зависимости от сторонних библиотек, необходимые для создания успешных кроссплатформенных приложений.
Типы зависимостей
В проектах Kotlin Multiplatform можно использовать два типа зависимостей:
-
Мультиплатформенные зависимости. Это мультиплатформенные библиотеки, поддерживающие несколько целевых платформ и доступные в общем наборе исходного кода,
commonMain.Многие современные библиотеки Android уже поддерживают несколько платформ, например Koin, Coil и SQLDelight. Больше мультиплатформенных библиотек можно найти на klibs.io — поисковом сервисе JetBrains для поиска библиотек Kotlin Multiplatform.
-
Нативные зависимости. Это библиотеки для конкретных платформ из соответствующих экосистем. В нативных проектах этими библиотеками обычно управляют с помощью платформенных инструментов, таких как Gradle для Android и Swift Package Manager для iOS.
При работе с модулем мультиплатформенного проекта вам обычно всё равно нужны нативные зависимости для использования API платформы, например защищённого хранилища, системных вызовов и так далее. В скрипте сборки укажите нативные зависимости в конфигурации нативных наборов исходного кода, например
androidMainиiosMain.
Для обоих типов зависимостей можно использовать локальные и внешние репозитории.
Добавление мультиплатформенной зависимости
Давайте сделаем приветствие немного праздничнее: добавим функцию, которая будет показывать количество дней до Нового года. Помимо версии ОС, для работы с датами в общем коде удобнее всего использовать библиотеку kotlinx-datetime, полностью поддерживающую несколько платформ.
-
Откройте файл
gradle/libs.versions.tomlи добавьте зависимостьkotlinx-datetimeв каталог версий:[versions] kotlinx-datetime = "0.8.0" [libraries] kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinx-datetime" } -
Откройте файл
sharedLogic/build.gradle.ktsи добавьте ссылку на эту запись библиотеки в раздел настройки набора исходного кода общего кода:kotlin { //... sourceSets { commonMain.dependencies { implementation(libs.kotlinx.datetime) } } } Выберите пункт меню Сборка | Синхронизировать проект с файлами Gradle или нажмите кнопку Синхронизировать изменения Gradle в редакторе скрипта сборки, чтобы синхронизировать файлы Gradle:
Вызов API kotlinx-datetime
Добавив зависимость, вы можете добавить в общий код вычисления даты и времени:
Щёлкните правой кнопкой мыши каталог
sharedLogic/src/commonMain/.../greetingkmpи выберите Создать | Класс/файл Kotlin, чтобы создать новый файлNewYear.kt.-
В
NewYear.ktдобавьте две функции, которые с помощью арифметики датdatetimeвычисляют количество дней от сегодняшнего дня до начала следующего года и формируют фразу для отображения:fun daysUntilNewYear(): Int { val today = Clock.System.todayIn(TimeZone.currentSystemDefault()) val closestNewYear = LocalDate(today.year + 1, 1, 1) return today.daysUntil(closestNewYear) } fun daysPhrase(): String = "There are only ${daysUntilNewYear()} days left until New Year! 🎆" Добавьте все необходимые импорты, предложенные IDE. Убедитесь, что импортируете
kotlin.time.Clock, а неkotlinx.datetime.Clock.-
В файле
Greeting.ktобновите классGreeting, чтобы увидеть результат:class Greeting { private val platform: Platform = getPlatform() fun greet(): List<String> = buildList { add(if (Random.nextBoolean()) "Hi!" else "Hello!") add("Guess what this is! > ${platform.name.reversed()}!") add(daysPhrase()) } } Чтобы увидеть результаты, повторно запустите конфигурации запуска androidApp и iosApp в IntelliJ IDEA:

Следующий шаг
В следующей части руководства вы добавите в проект дополнительные зависимости и более сложную логику.
См. также
Узнайте, как работать с мультиплатформенными зависимостями всех типов: библиотеками Kotlin, библиотеками Kotlin Multiplatform и другими мультиплатформенными проектами.
Узнайте, как добавлять зависимости Android и зависимости iOS с CocoaPods или без них для использования в наборах исходного кода, предназначенных для конкретных платформ.
Посмотрите примеры того, как использовать библиотеки Android и iOS в демонстрационных проектах.
Получить помощь
Kotlin Slack. Получите приглашение и присоединитесь к каналу #multiplatform.
Трекер задач Kotlin. Сообщить о новой проблеме.
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/multiplatform/multiplatform-dependencies.html