如要在 Android 專案中建立 Kotlin Multiplatform (KMP) 模組,請使用 Kotlin Multiplatform 共用模組範本,該範本可在 Android Studio Meerkat 和 Android Gradle 外掛程式 8.8.0 版以上版本中使用。
模組範本會自動建立新模組,並以 Android 和 iOS 平台為目標設定最低配置。
設定共用 KMP 模組
如要建立共用 KMP 模組,請按照下列步驟操作:
- 依序選取「File」>「New」>「New Module」
- 在「Templates」面板中選取「Kotlin Multiplatform Shared Module」範本:
![建立新的 KMP 模組](https://developer.android.com/static/kotlin/images/kmp_new_module.png?hl=zh-tw)
範本中的欄位如下:
- 模組名稱:定義 Gradle 模組名稱和 iOS 架構名稱 (可在稍後變更)
- 套件名稱:定義此模組中檔案的套件名稱
- 按一下「Finish」,讓 Gradle 與專案同步。系統可能也會提示您將新建立的模組檔案加入來源控制項。
完成後,Android Studio 的「Project View」會顯示新的共用模組,以及每個平台的來源組合。
![顯示新共用模組的專案檢視畫面](https://developer.android.com/static/kotlin/images/kmp_project_structure.png?hl=zh-tw)
將共用模組連結至 Android 應用程式
模組精靈不會將新建立的模組新增為任何現有模組的依附元件。接下來,您需要將共用模組連結至現有 Gradle 模組之一,這與其他 Android 依附元件類似。
dependencies {
...
implementation(project(":shared"))
}
啟用後,您就能照常存取代碼。您可以透過 Android 應用程式存取 androidMain 或 commonMain 中的程式碼。
如要進一步瞭解 Kotlin Multiplatform 專案結構,請參閱 Kotlin Multiplatform 專案結構的基本概念
在 iOS 應用程式中設定共用模組
Swift 無法直接使用 Kotlin 模組,因此必須產生已編譯的二進位架構。
Android Studio 中的新模組範本會設定共用模組,為每個 iOS 架構產生架構。您可以在共用模組的 build.gradle.kts
檔案中找到下列程式碼:
val xcfName = "sharedKit"
iosX64 {
binaries.framework {
baseName = xcfName
}
}
iosArm64 {
binaries.framework {
baseName = xcfName
}
}
iosSimulatorArm64 {
binaries.framework {
baseName = xcfName
}
}
如要進一步瞭解如何定義其他架構類型,請參閱「階層式專案結構」。
在 iOS 專案中連結共用程式庫
如要啟用 iOS 專案的共用程式碼存取權,請在編譯 Swift 來源之前,新增腳本階段來產生 Kotlin 架構:
- 在 Android Studio 中按一下檔案的滑鼠右鍵,然後選取「Open In」和「Open in Associated Application」。即可在 Xcode 中開啟 iOS 應用程式。
![在相關應用程式中開啟](https://developer.android.com/static/kotlin/images/kmp_open_in.png?hl=zh-tw)
- 在專案導覽器中雙擊專案名稱,開啟專案設定
![Xcode 專案設定對話方塊](https://developer.android.com/static/kotlin/images/kmp_xcode_1.png?hl=zh-tw)
- 將預設的「Run Script」名稱變更為「Compile Kotlin Framework」,以便更清楚瞭解這個階段的功能。按兩下「Run Script」標題即可編輯。
- 展開建構階段,然後在「Shell」文字欄位中輸入下列指令碼:
![新增執行指令碼建構階段](https://developer.android.com/static/kotlin/images/kmp_xcode_runscript.png?hl=zh-tw)
將「執行指令碼」階段拖曳至「編譯來源」階段之前。
圖 6. 在編譯來源之前執行指令碼建構階段 按一下 ⌘B 或前往「Product」選單並選取「Build」,即可在 Xcode 中建構專案。
建構成功時,您會看到下列圖示。
![Xcode 顯示建構成功](https://developer.android.com/static/kotlin/images/kmp_xcode_success.png?hl=zh-tw)
存取 iOS 應用程式中的共用程式碼
如要確認 iOS 應用程式能否成功存取共用模組中的程式碼,請執行下列操作:
- 在 iOS 專案中,開啟以下位置的
ContentView.swift
檔案:Sources/View/ContentView.swift
- 在檔案頂端新增匯入
sharedKit
。 - 修改文字檢視畫面,在顯示的字串中加入
Platform_iosKt.platform()
資訊,如下所示:
這項更新會檢查 Fruitties 應用程式是否能從共用模組呼叫 platform()
函式,該函式在 iOS 平台上執行時應會傳回「iOS」。
![執行 iOS 應用程式的 Xcode 模擬器](https://developer.android.com/static/kotlin/images/kmp_xcode_sim.png?hl=zh-tw)
其他資源
如果您是 KMP 開發新手,請參閱 官方 KMP 說明文件,瞭解更多指南。如果您是 iOS 開發新手,請參閱 Swift 基本概念說明文件。