Spec-Zone.ru › Kotlin 1.6

Создание первого кроссплатформенного мобильного приложения — учебник

Здесь вы узнаете, как создать и запустить своё первое приложение Kotlin Multiplatform Mobile.

  1. Настройка среды для кроссплатформенной мобильной разработки, установив необходимые инструменты на подходящей операционной системе.

    Для выполнения определенных шагов в этом учебнике, включающих написание кода для iOS и запуск приложения iOS, вам потребуется Mac с macOS.
    Эти шаги нельзя выполнить на других операционных системах, таких как Microsoft Windows. Это связано с требованиями Apple.

Вы также можете посмотреть видео этого учебника, созданное Екатериной Петровой, Kotlin Developer Advocate.

  1. В Android Studio выберите Файл | Новый | Новый проект.

  2. Выберите Приложение Kotlin Multiplatform в списке шаблонов проектов и нажмите Далее.

    Mobile Multiplatform project template
  3. Укажите имя для вашего первого приложения и нажмите Далее.

    Mobile Multiplatform project - general settings
  4. В открывшемся окне сделайте следующее:

    • Сохраните значения по умолчанию для имени приложения и общих папок.

    • Отметьте флажок для генерации примеров тестов для вашего проекта.

    • Выберите Обычный фреймворк в списке вариантов распространения фреймворка iOS.

    Нажмите Готово, чтобы создать новый проект.

    Mobile Multiplatform project - additional settings

    Если вы хотите использовать модуль Kotlin Multiplatform в качестве зависимости CocoaPods, выберите вариант менеджера зависимостей CocoaPods. Чтобы узнать больше о зависимостях CocoaPods, см. интеграцию CocoaPods.

Теперь дождитесь завершения настройки вашего проекта. Это может занять некоторое время для загрузки и настройки необходимых компонентов при первом выполнении.

Для просмотра полной структуры вашего мобильного кроссплатформенного проекта, переключите отображение с Android на Project. Вы можете понять структуру проекта и как его использовать.

Select the Project view

Запуск вашего приложения

Вы можете запустить ваше кроссплатформенное приложение на Android или iOS.

Запуск приложения на Android

  • В списке конфигураций запуска выберите androidApp, а затем нажмите Запустить.

    Run multiplatform app on Android
    First mobile multiplatform app on Android

Запуск на другом эмулированном устройстве Android

Узнайте, как настроить эмулятор Android и запустить приложение на другом эмулированном устройстве.

Запуск на реальном устройстве Android

Узнайте, как настроить и подключить аппаратное устройство и запустить на нём приложение.

Запуск приложения на iOS

  • В списке конфигураций запуска выберите iosApp, а затем нажмите Запустить.

    Run multiplatform app on iOS
    First mobile multiplatform app on Android

Запуск на другом эмулированном устройстве iPhone

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

  1. В списке конфигураций запуска нажмите Редактировать конфигурации.

    Edit run configurations
  2. Нажмите кнопку + над списком конфигураций и выберите Приложение iOS.

    New run configuration for iOS application
  3. Введите имя вашей конфигурации.

  4. Выберите эмулированное устройство в списке Цель выполнения, а затем нажмите ОК.

    New run configuration with iOS simulator
  5. Нажмите Запустить, чтобы запустить приложение на новом эмулированном устройстве.

Запуск на реальном устройстве iPhone

  1. Подключите реальное устройство iPhone к Xcode.

  2. Создайте конфигурацию запуска, выбрав iPhone в списке Цель выполнения.

  3. Нажмите Запустить, чтобы запустить приложение на устройстве iPhone.

Если сборка завершается ошибкой, воспользуйтесь решением, описанным в данном вопросе.

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

Вы можете запустить тесты, чтобы проверить правильность работы общего кода на обеих платформах. Конечно, вы также можете написать и запустить тесты для проверки платформо-специфичного кода.

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

  1. Откройте файл iosTest.kt в shared/src/iosTest/kotlin/com.example.kmmapplication.shared.
    Директории с именем Test содержат тесты.
    Этот файл включает пример теста для iOS.

    iOS test Kotlin file
  2. Нажмите значок Запустить в отступе рядом с тестом.

Тесты выполняются на симуляторе без пользовательского интерфейса. Поздравляем! Тест пройден – см. результаты тестов в консоли.

iOS test result

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

Для Android следуйте процедуре, очень похожей на процедуру запуска тестов на iOS.

  1. Откройте файл androidTest.kt в shared/src/androidTest/kotlin/com.example.kmmapplication.shared.

  2. Нажмите значок Запустить в отступе рядом с тестом.

Обновление вашего приложения

  1. Откройте файл Greeting.kt в shared/src/commonMain/kotlin/com.example.kmmapplication.shared.
    Эта директория хранит общий код для обеих платформ – Android и iOS. Если вы внесете изменения в общий код, вы увидите изменения в обоих приложениях.

    Common Kotlin file
  2. Обновите общий код – используйте функцию стандартной библиотеки Kotlin, которая работает на всех платформах и переворачивает текст: reversed().

    class Greeting {
        fun greeting(): String {
            return "Guess what it is! > ${Platform().platform.reversed()}!"
        }
    }
    
  3. Запустите обновлённое приложение на Android.

    Updated mobile multiplatform app on Android
  4. Запустите обновлённое приложение на iOS.

    Updated mobile multiplatform app on iOS
  5. Запустите тесты на Android и iOS.
    Как видите, тесты завершаются неудачно. Обновите тесты, чтобы они прошли успешно. Вы знаете, как это сделать? ;)

    iOS test failed

Следующие шаги

После того, как вы поигрались со своим первым кроссплатформенным мобильным приложением, вы можете:

  • Изучить структуру проекта

  • Завершить учебник по работе вашего Android-приложения на iOS

Последнее изменение: 07 апреля 2022
Настройка среды Изучение структуры мобильного проекта

© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/multiplatform-mobile-create-first-app.html

Spec-Zone.ru

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