[Kotlin]Kotlin Multiplatform (KMP) 如何安裝使用和部署

 Kotlin Multiplatform (KMP) 是 JetBrains 推出的跨平台開發技術,允許使用 Kotlin 共享核心業務邏輯,同時為不同平台(如 Android、iOS、桌面和 Web)提供各自的 UI。


1️⃣ 安裝與環境設置

1.1 安裝 Kotlin 和 Gradle

KMP 使用 Gradle 作為構建工具,因此需要安裝:

  • Kotlin(通常隨 Gradle 自帶)
  • Gradle(建議使用最新版本)
  • Android Studio(開發 Android 部分)
  • Xcode(開發 iOS 部分)

如果你使用 IntelliJ IDEA 或 Android Studio,這些工具通常已預裝。

1.2 安裝 Kotlin Multiplatform 插件

在 Android Studio 或 IntelliJ IDEA:

  1. FileSettingsPlugins
  2. 搜索 Kotlin Multiplatform Mobile
  3. 點擊 Install 安裝
  4. 重啟 IDE

2️⃣ 創建 Kotlin Multiplatform 專案

2.1 使用官方範本

可以使用 Kotlin 官方提供的範本來快速建立 KMP 項目:

sh

# 使用 KMP 官方範本 curl -s https://get.sdkman.io | bash sdk install kotlin

或直接在 Android Studio 內:

  1. FileNewNew Project
  2. 選擇 Kotlin Multiplatform App
  3. 選擇所需的目標平台(Android、iOS、Web、Desktop)

2.2 目錄結構

KMP 項目通常具有以下目錄結構:

bash

root/ ├── shared/ # 共享代碼(Kotlin) │ ├── src/commonMain/ # 共享業務邏輯(Kotlin) │ ├── src/androidMain/ # Android 相關代碼 │ ├── src/iosMain/ # iOS 相關代碼 │ └── build.gradle.kts # KMP 配置 ├── androidApp/ # Android 專案 ├── iosApp/ # iOS 專案 ├── build.gradle.kts # 項目配置 └── settings.gradle.kts

3️⃣ 編寫共享代碼

KMP 允許你在 shared 模組內編寫 可重用代碼,例如:

3.1 共享代碼

shared/src/commonMain/kotlin/Hello.kt

kotlin

expect fun getPlatformName(): String fun sayHello(): String { return "Hello from ${getPlatformName()}!" }

3.2 Android 端實現

shared/src/androidMain/kotlin/Hello.kt

kotlin

actual fun getPlatformName(): String = "Android"

3.3 iOS 端實現

shared/src/iosMain/kotlin/Hello.kt

kotlin

actual fun getPlatformName(): String = "iOS"

4️⃣ 部署與運行

4.1 運行 Android

在 Android Studio 運行:

  1. 選擇 androidApp 模組
  2. 選擇模擬器或真機
  3. 點擊 Run

4.2 運行 iOS

KMP 生成 Framework 供 iOS 使用:

  1. 打開 iosApp/ 內的 Xcode
  2. 選擇 Runner,然後 Build & Run

5️⃣ 部署與發布

5.1 部署 Android

直接使用 Gradle 生成 APK 或 AAB:

sh

./gradlew androidApp:assembleRelease

5.2 部署 iOS

KMP 會生成 XCFramework

sh

./gradlew shared:assembleXCFramework

然後將其導入 Xcode,打包 IPA 發布。


🎯 總結

  1. 安裝 Kotlin、Gradle、Android Studio 和 Xcode
  2. 使用範本創建 KMP 項目
  3. 編寫共享業務邏輯
  4. androidMainiosMain 中提供平台特定實現
  5. 在 Android Studio 和 Xcode 運行應用
  6. 部署到 Google Play 或 App Store

留言

這個網誌中的熱門文章

[Kotlin]如何學習Kotlin

[golang]如何使用 gorm 高效執行批量插入 (可以透過 Create()、CreateInBatches(),或者 原生 SQL 語句 來提升效率)