Как вы создаете многоплатформенную сборку Kotlin?

Я хотел бы создать тот же исходный код kotlin в javascript и java (android). Есть ли стандартный способ достичь этого?

  1. Создайте проект в IntelliJ. Выберите проект Gradle, а затем Java (и все, что вы хотите)

Новое меню проекта IntelliJ

  1. Создайте 3 новых модуля Gradle: common , android-specific и js-specific . Убедитесь, что они добавлены как модуль в основной модуль

Добавление нового модуля

Добавление новой части модуля 2

  1. Нажмите затем, затем закончите (и повторите для android-specific для android-specific и js-specific )
  2. Удалите settings.gradle из common , а остальные 2 модуля, поскольку они вам не понадобятся
  3. Убедитесь, что эти 3 новых модуля добавлены в основные settings.gradle родительского модуля. Это должно выглядеть более как это:

     rootProject.name = 'parent' include ':common' include ':android-specific' include ':js-specific' 
  4. Измените common зависимость модуля (файл build.gradle , строка 24 для меня ) от org.jetbrains.kotlin:kotlin-stdlib-jre8 до org.jetbrains.kotlin:kotlin-stdlib поэтому он не org.jetbrains.kotlin:kotlin-stdlib от платформы.
  5. Если вы действительно хотите быть уверены, что сделали все правильно, перейдите в View -> Tool Windows -> Gradle

Просмотр -> Инструмент Windows -> Gradle

  1. Вы должны увидеть меню «Грейдл», и оно должно выглядеть так:

Как это должно выглядеть

Конфигурация gradle также должна работать без IntelliJ (или Android Studio), но я не тестировал ее

Официальная многоплатформенная поддержка Kotlin еще не выпущена. Если вы хотите остаться в курсе событий, я рекомендую следовать #multiplatform каналу на Kotlin Slack .