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)
}
}
アプリの共有モジュールに新しいライブラリを追加する場合は、 依存関係がまとめられています。