環境を設定する(Kotlin マルチプラットフォーム)

Kotlin マルチプラットフォーム(KMP)を使用すると、Kotlin コードを さまざまなプラットフォームでKMP でアプリの構築を開始する前に、以下を行う必要があります。 このドキュメントの説明に従って環境を設定します。参考資料 Jetbrain の公式ドキュメント

必要なツールをインストールまたは更新する

  • Android Studio の最新の安定版をインストールするか、最新バージョンに更新します。
  • Android Studio にバンドルされている Kotlin プラグインを更新する 互換性の問題を回避するために、最新バージョンにアップグレードする必要があります。
  • (省略可)iOS 開発の場合は、Xcode をインストールして、 必要に応じて Swift または Objective-C のコードを追加します。

Kotlin マルチプラットフォーム プロジェクトを作成する

JetBrains の Kotlin マルチプラットフォーム ウィザードを使用して、 新しい KMP プロジェクトを作成します。必ず [Do not [Share UI] オプションを使用して UI をネイティブに維持します。

プロジェクトの構造

KMP プロジェクトは、Android プロジェクトと同様のプロジェクト構造に従います。

KMP プロジェクトには、プラットフォーム固有のモジュールと共有モジュールが含まれています。 プラットフォーム固有のコードを関連するモジュールに追加します。たとえば、 androidApp モジュールの Android アプリの UI と iosApp の iOS アプリの UI。 プラットフォーム間で共有するコードは、すべて shared モジュールに配置されます。

共有モジュールでは、他のモジュールと同様に、Gradle をビルドシステムとして使用します。 できます。共通の依存関係とプラットフォーム固有の依存関係を宣言するには、 あります。たとえば、アプリがネットワーキングに Ktor を使用している場合は、 OkHttp 依存関係(Android の場合)と Darwin 依存関係(iOS の場合)の 2 つがあります。なお、 ライブラリには共通の依存関係のみが必要で、プラットフォーム固有の 確認します。

sourceSets {
   commonMain.dependencies {
       //put your multiplatform dependencies here
       //...
       implementation(libs.ktor.client.core)
       implementation(libs.ktor.client.content.negotiation)
       implementation(libs.ktor.serialization.kotlinx.json)
       //...
   }
   androidMain.dependencies {
       implementation(libs.ktor.client.okhttp)
   }
   iosMain.dependencies {
       implementation(libs.ktor.client.darwin)
   }
}

アプリの共有モジュールに新しいライブラリを追加する場合は、 依存関係がまとめられています。