type | layout | title | url |
---|---|---|---|
doc |
reference |
Создание вашего первого кроссплатформенного мобильного приложения |
Здесь вы узнаете, как создать и запустить ваше первое Kotlin Multiplatform Mobile приложение.
Вы также можете посмотреть видео этого урока, созданное Екатериной Петровой.
<iframe width="560" height="315" src="https://www.youtube.com/embed/GcqFhoUuNNI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>-
Настройте среду для кроссплатформенной мобильной разработки, установив необходимые инструменты для подходящей операционной системы.
Вам понадобится Mac с macOS для выполнения определенных шагов в этом руководстве, которые включают написание специфичного для iOS кода и запуск iOS-приложений.
Работать с iOS в других операционных системах, таких как Microsoft Windows, нельзя. Это связано с требованием Apple.
-
В Android Studio выберите File | New | New Project.
-
Выберите Kotlin Multiplatform App в списке шаблонов проектов и нажмите Next.
-
Укажите имя для вашего первого приложения и нажмите Next.
-
В открывшемся окне выполните следующие действия:
- Не изменяйте имена по умолчанию для приложения и общих папок;
- Установите флажок, чтобы сгенерировать образцы тестов для вашего проекта;
- Выберите Regular framework в списке вариантов распространения iOS-фреймворка.
Нажмите Finish, чтобы создать новый проект.
Если вы хотите использовать мультиплатформенный модуль Kotlin в качестве зависимости CocoaPods, выберите опцию CocoaPods dependency manager. Чтобы узнать больше о зависимостях CocoaPods, см. раздел Интеграция CocoaPods.
Теперь подождите, пока ваш проект будет настроен. Загрузка и настройка необходимых компонентов может занять некоторое время, когда вы делаете это в первый раз.
Чтобы просмотреть полную структуру вашего мобильного мультиплатформенного проекта, переключите просмотр с Android на Project. Вы можете разобраться со структурой проекта и тем, как вы можете её использовать.
Вы можете запустить свое мультиплатформенное приложение на Android или iOS.
Узнайте, как настроить эмулятор Android и запустить ваше приложение на другом моделируемом устройстве.
Узнайте, как настроить и подключить аппаратное устройство и запустить на нем свое приложение.
Если вы хотите запустить свое приложение на другом симулируемом устройстве, вы можете добавить новую конфигурацию запуска.
-
В списке конфигураций запуска нажмите Edit Configurations.
-
Нажмите кнопку + над списком конфигураций и выберите iOS Application.
-
Укажите название вашей конфигурации.
-
Выберите симулируемое устройство в списке Execution target, а затем нажмите OK.
-
Нажмите Run, чтобы запустить ваше приложение на новом симулируемом устройстве.
- Подключите iPhone к Xcode.
- Создайте конфигурацию запуска, выбрав iPhone в списке Execution target.
- Нажмите Run, чтобы запустить ваше приложение на iPhone.
Если ваша сборка завершится неудачей, следуйте инструкциям, описанным в этой issue.
Вы можете запустить тесты, чтобы проверить правильность работы общего кода на обеих платформах. Конечно, вы также можете писать и запускать тесты для проверки кода, специфичного для конкретной платформы.
-
Откройте файл
iosTest.kt
в папкеshared/src/iosTest/kotlin/com.example.kmmapplication.shared
. Каталоги с именемTest
содержат тесты. Этот файл содержит пример теста для iOS. -
Нажмите на значок Run рядом с тестом.
Тесты выполняются на симуляторе без UI. Поздравляем! Тест пройден – смотрите результаты теста в консоли.
Для Android процесс запуска тестов очень похож на этот же процесс для iOS.
-
Откройте файл
androidTest.kt
в папкеshared/src/androidTest/kotlin/com.example.kmmapplication.shared
. -
Нажмите на значок Run рядом с тестом.
-
Откройте файл
Greeting.kt
в папкеshared/src/commonmain/kotlin/com.example.kmmapplication.shared
. В этом каталоге хранится общий код для обеих платформ – Android и iOS. Если вы внесете изменения в общий код, вы увидите изменения в обоих приложениях. -
Обновите общий код: используйте функцию стандартной Kotlin-библиотеки, которая работает на всех платформах и возвращает текст:
reversed()
.class Greeting { fun greeting(): String { return "Guess what it is! > ${Platform().platform.reversed()}!" } }
-
Запустите обновленное приложение на Android.
-
Запустите обновленное приложение на iOS.
-
Запустите тесты на Android и iOS.
Как вы видите, тесты проваливаются. Обновите тесты для прохождения. Вы знаете, как это сделать, верно? ;)
Как только вы поиграете со своим первым кроссплатформенным мобильным приложением, вы сможете: