環境を設定する(Kotlin マルチプラットフォーム)
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Kotlin マルチプラットフォーム(KMP)を使用すると、異なるプラットフォームの間で Kotlin コードを共有できます。KMP を使用してアプリの作成を開始する前に、このドキュメントで説明するように環境を設定する必要があります。JetBrain の公式ドキュメントも参照してください。
必要なツールをインストールまたは更新する
- Android Studio の最新の安定版をインストールするか、更新します。
- 互換性の問題を回避するため、Android Studio にバンドルされている Kotlin プラグインを最新バージョンに更新します。
- (省略可)iOS 開発の場合は、Xcode をインストールして UI をビルドし、必要に応じて Swift または Objective-C コードを追加します。
Kotlin マルチプラットフォーム プロジェクトを作成する
JetBrains の Kotlin マルチプラットフォーム ウィザードを使用して、新しい KMP プロジェクトを作成できます。UI をネイティブのままにするには、[UI を共有しない] オプションを選択してください。
プロジェクトの構造
KMP プロジェクトは、Android プロジェクトに似たプロジェクト構造を採用しています。
KMP プロジェクトには、共有モジュールとともにプラットフォーム固有のモジュールが含まれています。プラットフォーム固有のコードを関連するモジュールに追加します。たとえば、Android アプリの UI を androidApp モジュールに追加し、iOS アプリの UI を iosApp に追加します。プラットフォーム間で共有するコードは、shared モジュールに配置します。
共有モジュールは、プロジェクトの他の部分と同様に Gradle をビルドシステムとして使用します。ソースセットを使用して、一般的な依存関係とプラットフォーム固有の依存関係を宣言できます。たとえば、アプリでネットワーキングに Ktor を使用している場合は、Android 用の OkHttp 依存関係と iOS 用の darwin 依存関係を追加する必要があります。一部のライブラリには、共通の依存関係のみが必要で、プラットフォーム固有の依存関係は必要ありません。
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)
}
}
アプリの共有モジュールに新しいライブラリを追加する場合は、各プラットフォームに必要な依存関係を確認してください。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-07-27 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-07-27 UTC。"],[],[],null,["# Setup your environment (Kotlin Multiplatform)\n\n[Kotlin Multiplatform](https://kotlinlang.org/lp/mobile/) (KMP) enables sharing Kotlin code across\ndifferent platforms. Before you start building apps with KMP, you'll need to\nset up your environment as described in this document. You can also refer to\nJetBrain's [official documentation](https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-setup.html).\n\nInstall or update required tools\n--------------------------------\n\n- Install or update to the latest stable version of [Android Studio](/studio).\n- Update the [Kotlin plugin](https://kotlinlang.org/docs/releases.html#update-to-a-new-release) that is bundled with Android Studio to the latest version to avoid compatibility issues.\n- (Optional) For iOS development, install [Xcode](https://apps.apple.com/us/app/xcode/id497799835) to build the UI and add Swift or Objective-C code as needed.\n\nCreate a Kotlin Multiplatform project\n-------------------------------------\n\nYou can use the [Kotlin Multiplatform wizard](https://kmp.jetbrains.com/) from JetBrains to\ncreate a new KMP project. Make sure to choose the **Do not\nshare UI** option to keep the UI native.\n\n### Project structure\n\nKMP projects follow a project structure similar to Android projects.\n\nA KMP project contains platform-specific modules along with a shared module.\nAdd your platform-specific code to the relevant module. For example, add your\nAndroid app UI in the **androidApp** module and your iOS app UI in **iosApp** .\nAny code you want to share between platforms goes in the **shared** module.\n\nThe shared module uses Gradle as the build system just like the rest of the\nproject. You can declare common and platform-specific dependencies using\nsourcesets. For example, if your app uses Ktor for networking, you need to add\nan OkHttp dependency for Android and a darwin dependency for iOS. Note that some\nlibraries require only common dependencies and don't need platform-specific\ndependencies. \n\n sourceSets {\n commonMain.dependencies {\n //put your multiplatform dependencies here\n //...\n implementation(libs.ktor.client.core)\n implementation(libs.ktor.client.content.negotiation)\n implementation(libs.ktor.serialization.kotlinx.json)\n //...\n }\n androidMain.dependencies {\n implementation(libs.ktor.client.okhttp)\n }\n iosMain.dependencies {\n implementation(libs.ktor.client.darwin)\n }\n }\n\nWhen you add a new library to your app's shared module, make sure to check for\nthe required dependencies for each platform."]]