Skip to content

Kotlin Multiplatform クイックスタート

このチュートリアルでは、Compose Multiplatform UI を使用したシンプルな Kotlin Multiplatform アプリを作成して実行する方法を説明します。

環境のセットアップ

まずは IDE と必要なプラグインの準備から始めましょう。

  1. IDE を選択してインストールします。Kotlin Multiplatform は IntelliJ IDEA と Android Studio で完全にサポートされています。

    IDE のインストールには JetBrains Toolbox App を使用することをお勧めします。 Early Access Program (EAP) や Nightly リリースを含む、複数の製品やバージョンを管理できます。

    スタンドアロンでインストールする場合は、IntelliJ IDEA または Android Studio のインストーラーをダウンロードしてください。

    Kotlin Multiplatform に必要なプラグインには、少なくとも IntelliJ IDEA 2025.2.2 または Android Studio Otter 2025.2.1 以降が必要です。

  2. Kotlin Multiplatform IDE プラグイン をインストールします。

    IDE プラグインをインストールすると、IDE にまだ備わっていない必要な依存関係もすべてインストールされます。

  3. ANDROID_HOME 環境変数が設定されていない場合は、システムがそれを認識できるように構成します。

    次のコマンドを .profile または .zprofile に追加します。

    shell
    export ANDROID_HOME=~/Library/Android/sdk

    PowerShell の場合は、次のコマンドで永続的な環境変数を追加できます(詳細は PowerShell ドキュメント を参照してください)。

    shell
    [Environment]::SetEnvironmentVariable('ANDROID_HOME', '<path to the SDK>', 'Machine')

    CMD の場合は、setx コマンドを使用します。

    shell
    setx ANDROID_HOME "<path to the SDK>"
  4. iOS アプリケーションを作成するには、Xcode がインストールされた macOS ホストが必要です。 IDE はバックグラウンドで Xcode を実行して iOS フレームワークをビルドします。

    KMP プロジェクトでの作業を開始する前に、少なくとも一度は Xcode を起動して初期セットアップを完了させてください。

    Xcode が更新されるたびに、手動で起動して更新されたツールをダウンロードする必要があります。 Kotlin Multiplatform IDE プラグインはプリフライトチェックを行い、Xcode が動作可能な状態でない場合にアラートを表示します。

プロジェクトの作成

IDE ウィザードを使用して、新しい KMP プロジェクトを作成します。

  1. メインメニューで File | New | Project を選択します。

  2. 左側のリストで Kotlin Multiplatform を選択します。

  3. 必要に応じて、プロジェクトの名前、場所、その他の基本属性を設定します。

  4. プロジェクトの JDK として JetBrains Runtime (JBR) のバージョンを選択することをお勧めします。JBR は、特にデスクトップ KMP アプリの互換性を向上させるための重要な修正を提供しています。 適切なバージョンの JBR はすべての IntelliJ IDEA ディストリビューションに含まれているため、追加のセットアップは不要です。

  5. 完全なデモを作成するには、利用可能なすべてのプラットフォーム(Android、iOS、デスクトップ、ウェブ、サーバー)を選択します。 対応するターゲットの UI フレームワークとして Compose Multiplatform を使用するために、Share UI オプションが利用可能な場所では選択されたままにします。

    デスクトップターゲットには Compose Hot Reload 機能が自動的に含まれており、コードの変更を保存するとすぐに UI の変更を確認できます。 デスクトップアプリを作る予定がない場合でも、UI コードの作成をスピードアップするためにプロジェクトにデスクトップターゲットを追加することをお勧めします。

  6. プラットフォームの選択が終わったら、Create ボタンをクリックし、IDE がプロジェクトを生成してインポートするのを待ちます。

デフォルト設定で Android、iOS、デスクトップ、ウェブプラットフォームが選択された IntelliJ IDEA ウィザード

IDE ウィザードを使用して、新しい KMP プロジェクトを作成します。

  1. メインメニューで File | New | New project を選択します。

  2. デフォルトの Phone and Tablet テンプレートカテゴリから Kotlin Multiplatform を選択します。

    Android Studio での新しいプロジェクトの最初のステップ

  3. 必要に応じてプロジェクトの名前、場所、その他の基本属性を設定し、Next をクリックします。

  4. 完全なデモを作成するには、利用可能なすべてのプラットフォーム(Android、iOS、デスクトップ、ウェブ、サーバー)を選択します。 対応するターゲットの UI フレームワークとして Compose Multiplatform を使用するために、Share UI オプションが利用可能な場所では選択されたままにします。

    デスクトップターゲットには Compose Hot Reload 機能が自動的に含まれており、コードの変更を保存するとすぐに UI の変更を確認できます。 デスクトップアプリを作る予定がない場合でも、UI コードの作成をスピードアップするためにプロジェクトにデスクトップターゲットを追加することをお勧めします。

  5. プラットフォームの選択が終わったら、Finish ボタンをクリックし、IDE がプロジェクトを生成してインポートするのを待ちます。

Android、iOS、デスクトップ、ウェブプラットフォームが選択された Android Studio ウィザードの最後のステップ

プリフライトチェックの確認

Project Environment Preflight Checks ツールウィンドウを開くことで、プロジェクトのセットアップにおいて環境上の問題がないか確認できます。 右側のサイドバーまたは下部バーにあるプリフライトチェックアイコンをクリックしてください。 飛行機のアイコンが付いたプロジェクト環境プリフライトチェックアイコン

このツールウィンドウでは、これらのチェックに関連するメッセージの確認、再実行、または設定の変更が可能です。

プリフライトチェックのコマンドは、Search Everywhere ダイアログからも利用できます。

キーを 2 回押し、"preflight" という単語を含むコマンドを検索してください。

「preflight」と入力された Search Everywhere メニュー

サンプルアプリの実行

IDE ウィザードで作成されたプロジェクトには、iOS、Android、デスクトップ、およびウェブアプリケーション用の実行構成 (run configurations) と、サーバーアプリを実行するための Gradle タスクが含まれています。 各プラットフォームの特定の Gradle コマンドは以下の通りです。

Android アプリを実行するには、androidApp 実行構成を開始します。

Android 実行構成がハイライトされたドロップダウン

Android 実行構成を手動で作成するには、実行構成テンプレートとして Android App を選択し、モジュール [プロジェクト名].androidApp を選択します。

デフォルトでは、最初に使用可能な仮想デバイスで実行されます。

仮想デバイスで実行された Android アプリ

iOS アプリをビルドするには macOS ホストと Xcode のインストールが必要です。

プロジェクトで iOS ターゲットを選択し、Xcode がインストールされた macOS マシンをセットアップしている場合は、iosApp 実行構成を選択してシミュレートされたデバイスを選択できます。

iOS 実行構成がハイライトされたドロップダウン

iOS アプリを実行すると、バックグラウンドで Xcode を使用してビルドされ、iOS シミュレーターで起動します。 初回ビルド時には、コンパイル用のネイティブ依存関係が収集され、以降の実行のためにビルドがウォームアップされます。

仮想デバイスで実行された iOS アプリ

デスクトップアプリのデフォルトの実行構成は、desktopApp [hot] 🔥 として作成されます。

デフォルトのデスクトップ実行構成がハイライトされたドロップダウン

ホットリロード(Hot Reload)を使用したデスクトップ実行構成を手動で作成するには、Gradle 実行構成テンプレートを選択し、[アプリ名]:desktopApp Gradle プロジェクトを指すようにして、次のコマンドを指定します。

shell
hotRun --mainClass "com.example.demo.MainKt"

この構成により、JVM デスクトップアプリを実行できます。

仮想デバイスで実行された JVM アプリ

ウェブアプリのデフォルトの実行構成は、webApp [wasmJs] として作成されます。

デフォルトの Wasm 実行構成がハイライトされたドロップダウン

ウェブ実行構成を手動で作成するには、Gradle 実行構成テンプレートを選択し、[アプリ名]:webApp Gradle プロジェクトを指すようにして、次のコマンドを指定します。

shell
wasmJsBrowserDevelopmentRun

この構成を実行すると、IDE は Kotlin/Wasm アプリをビルドし、デフォルトのブラウザで開きます。

仮想デバイスで実行されたウェブアプリ

トラブルシューティング

Java と JDK

Java に関する一般的な問題:

  • 一部のツールが実行用の Java バージョンを見つけられないか、誤ったバージョンを使用することがあります。 これを解決するには:
    • JAVA_HOME 環境変数を、適切な JDK がインストールされているディレクトリに設定します。

      クラスの再定義をサポートする OpenJDK のフォークである JetBrains Runtime を使用することをお勧めします。

    • JDK に含まれるツールをターミナルで使用できるように、JAVA_HOME 内の bin フォルダへのパスを PATH 変数に追加します。

  • Android Studio で Gradle JDK に関する問題が発生した場合は、正しく構成されているか確認してください。 Settings | Build, Execution, Deployment | Build Tools | Gradle を選択します。

Android ツール

JDK と同様に、adb などの Android ツールの起動に問題がある場合は、ANDROID_HOME/toolsANDROID_HOME/tools/bin、および ANDROID_HOME/platform-tools へのパスが PATH 環境変数に追加されていることを確認してください。

Xcode

iOS の実行構成で実行する仮想デバイスがないと報告されたり、プリフライトチェックが失敗したりする場合は、Xcode を起動して iOS シミュレーターの更新がないか確認してください。

ヘルプを得る

次のステップ

KMP プロジェクトの構造と共有コードの記述について詳しく学びましょう:

KMP 用に既に書かれたコードを探す:

  • JetBrains 公式サンプルや、KMP の機能を示す厳選されたプロジェクトリストが掲載されている Samples ページ。
  • GitHub トピック:
  • klibs.io – KMP ライブラリの検索プラットフォーム。OkHttp、Ktor、Coil、Koin、SQLDelight など、これまでに 2000 以上のライブラリがインデックスされています。