Публикация приложения
Когда приложения готовы к выпуску, пора предоставить их пользователям — опубликовать их.
Для мобильных приложений на каждой платформе доступно несколько магазинов. Однако в этой статье мы сосредоточимся на официальных: Google Play Store и Apple App Store. Для веб-приложений мы воспользуемся GitHub Pages.
Вы узнаете, как подготовить приложения Kotlin Multiplatform к публикации, и мы уделим особое внимание этапам этого процесса, требующим особого внимания.
Приложение для Android
Поскольку Kotlin — основной язык разработки для Android, Kotlin Multiplatform не оказывает заметного влияния на компиляцию проекта и сборку приложения для Android. Как библиотека Android, создаваемая из общего модуля, так и само приложение для Android являются типичными модулями Android Gradle и ничем не отличаются от других библиотек и приложений для Android. Поэтому публикация приложения для Android из проекта Kotlin Multiplatform ничем не отличается от стандартного процесса, описанного в документации для разработчиков Android.
Приложение для iOS
Приложение для iOS из проекта Kotlin Multiplatform собирается на основе стандартного проекта Xcode, поэтому основные этапы его публикации совпадают с описанными в документации для разработчиков iOS.
Особенность проектов Kotlin Multiplatform заключается в компиляции общего модуля Kotlin во фреймворк и его подключении к проекту Xcode. Как правило, интеграция общего модуля с проектом Xcode выполняется автоматически с помощью плагина Kotlin Multiplatform для IDE. Однако если вы не используете этот плагин, при сборке и упаковке проекта iOS в Xcode учитывайте следующее:
Общая библиотека Kotlin компилируется в нативный фреймворк.
Необходимо подключить к проекту приложения iOS фреймворк, скомпилированный для конкретной платформы.
В настройках проекта Xcode укажите путь к фреймворку, по которому его должна искать система сборки.
После сборки проекта запустите приложение и протестируйте его, чтобы убедиться, что во время выполнения не возникает проблем при работе с фреймворком.
Подключить общий модуль Kotlin к проекту iOS можно двумя способами:
Используйте плагин Kotlin CocoaPods Gradle, который позволяет использовать многоплатформенный проект с нативными целевыми платформами в качестве зависимости CocoaPods в проекте iOS.
Настройте многоплатформенный проект вручную, чтобы создать фреймворк iOS, а проект Xcode — чтобы получить его последнюю версию. Обычно эту настройку выполняет мастер Kotlin Multiplatform или плагин Kotlin Multiplatform для IDE. О том, как добавить фреймворк непосредственно в Xcode, см. в разделе Подключение фреймворка к проекту iOS.
Настройка приложения для iOS
Основные свойства, влияющие на итоговое приложение, можно настроить без Xcode.
Идентификатор пакета
Идентификатор пакета уникально определяет ваше приложение в операционной системе. Чтобы изменить его, откройте файл iosApp/Configuration/Config.xcconfig в Android Studio и обновите BUNDLE_ID.
Название приложения
Название приложения задает имя целевого исполняемого файла и пакета приложения. Чтобы изменить название приложения:
Если вы еще не открывали проект в Android Studio, можно изменить параметр
APP_NAMEнепосредственно в файлеiosApp/Configuration/Config.xcconfigс помощью любого текстового редактора.-
Если вы уже открывали проект в Android Studio, выполните следующие действия:
Закройте проект.
В любом текстовом редакторе измените параметр
APP_NAMEв файлеiosApp/Configuration/Config.xcconfig.Снова откройте проект в Android Studio.
Если необходимо настроить другие параметры, воспользуйтесь Xcode: после открытия проекта в Android Studio откройте файл iosApp/iosApp.xcworkspace в Xcode и внесите изменения.
Символикация отчетов о сбоях
Чтобы помочь разработчикам улучшать приложения, iOS предоставляет средства анализа сбоев приложений. Для подробного анализа сбоев используются специальные файлы отладочных символов (.dSYM), которые сопоставляют адреса памяти в отчетах о сбоях с местоположениями в исходном коде, например с функциями или номерами строк.
По умолчанию к выпускным версиям фреймворков iOS, созданных из общего модуля Kotlin, прилагается файл .dSYM. Это позволяет анализировать сбои, происходящие в коде общего модуля.
Дополнительные сведения о символикации отчетов о сбоях см. в документации Kotlin/Native.
Автоматизация публикации в TestFlight
Вместо того чтобы вручную собирать, подписывать и загружать приложение через Xcode, можно автоматизировать весь процесс выпуска.
О том, как настроить конвейер TeamCity Cloud, который автоматически собирает и развертывает приложение iOS в TestFlight непосредственно из IDE, см. в разделе Настройка конвейера доставки для iOS.
Веб-приложение
Чтобы опубликовать веб-приложение, создайте артефакты, содержащие скомпилированные файлы и ресурсы, из которых состоит приложение. Эти артефакты необходимы для развертывания приложения на платформе веб-хостинга, например GitHub Pages.
Создание артефактов
Создайте конфигурацию запуска для выполнения задачи wasmJsBrowserDistribution:
Выберите пункт меню Запуск | Изменить конфигурации.
Нажмите кнопку с плюсом и выберите Gradle в раскрывающемся списке.
-
В поле Задачи и аргументы вставьте следующую команду:
wasmJsBrowserDistribution
Нажмите ОК.
Теперь вы можете использовать эту конфигурацию для запуска задачи:
После завершения задачи созданные артефакты можно найти в каталоге sharedUI/build/dist/wasmJs/productionExecutable:
Публикация приложения на GitHub Pages
Когда артефакты готовы, можно развернуть приложение на платформе веб-хостинга:
Скопируйте содержимое каталога
productionExecutableв репозиторий, где хотите создать сайт.-
Следуйте инструкциям GitHub по созданию сайта.
-
Перейдите в браузере по адресу вашего домена GitHub Pages.
Поздравляем! Вы опубликовали артефакты на GitHub Pages.
Отладка веб-приложения
Веб-приложение можно отлаживать в браузере сразу, без дополнительной настройки. О том, как выполнять отладку в браузере, см. руководство Отладка в браузере в документации 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-publish-apps.html