Kotlin Multiplatform (KMP) 提供跨平台共用 Kotlin 程式碼的功能。Kotlin Multiplatform 由 JetBrains 開發,並獲得 Google 正式支援,可在 Android 和 iOS 之間共用商業邏輯。使用 KMP 鎖定行動平台時,功能穩定且可用於正式版環境。
多平台 Jetpack 程式庫
我們已遷移許多 Jetpack 程式庫,以便充分運用 KMP。下列 Jetpack 程式庫支援 KMP:
Maven 群組 ID | 最新版 | 穩定版 | 候選版 | Beta 版 | Alpha 版 | 說明文件 |
---|---|---|---|---|---|---|
annotation (*) | 2025 年 7 月 16 日 | 1.9.1 | - | - | - | |
collection | 2025 年 8 月 27 日 | 1.5.0 | - | - | 1.6.0-alpha01 | |
datastore | 2025 年 5 月 20 日 | 1.1.7 | - | - | 1.2.0-alpha02 | 說明文件 |
lifecycle (*) | 2025 年 10 月 8 日 | 2.9.4 | - | - | 2.10.0-alpha05 | |
paging (*) | 2025 年 9 月 10 日 | 3.3.6 | - | - | 3.4.0-alpha04 | |
room | 2025 年 10 月 8 日 | 2.8.2 | - | - | - | 說明文件 |
savedstate | 2025 年 10 月 8 日 | 1.3.3 | - | 1.4.0-beta01 | - | |
sqlite | 2025 年 9 月 24 日 | 2.6.1 | - | - | - | 說明文件 |
參考文件
這些程式庫的參考說明文件 (例如 DataStoreFactory
) 會為 API 加上標記,指出 API 能否用於一般程式碼、Android 和原生程式碼。
您也可以在每個頁面頂端,依據平台篩選出聲明內容。下表說明各個標記的意義。
支援的平台
針對正式支援的平台 (Android 和 iOS) 發布的 Jetpack 程式庫,會維持相同的品質和相容性要求。不過,我們正努力將 Jetpack 的 Kotlin Multiplatform 支援擴展至其他平台,因此工具和基礎架構支援可能仍在開發中。
各平台目前的支援等級可歸納為以下層級:
第 1 級:
- 在 CI 中經過完整測試,包括主機端和裝置端測試
- 根據語意版本控管政策追蹤來源和二進位檔相容性
第 2 層:
- 已在 CI 上進行部分測試,但僅限於主機端測試
- 未追蹤來源或二進位檔相容性
第 3 級:
- 未在 CI 中測試
- 未追蹤來源或二進位檔相容性
平台 | 支援等級 |
---|---|
Android | 第 1 級 |
JVM | 第 1 級 |
iOS | 第 1 級 |
macOS | 第 2 層服務專員 |
Linux | 第 2 層服務專員 |
watchOS | 第 3 層服務專員 |
tvOS | 第 3 層服務專員 |
Windows | 第 3 層服務專員 |
JavaScript | 第 3 層服務專員 |
WASM | 第 3 層服務專員 |
工具支援
您可以在 Android Studio 中開啟、編輯及執行多平台專案,但部分 IDE 功能尚未開放給這類專案使用。
使用 Android Studio 建立新的 KMP 模組
如要開始遷移至 KMP,請在 Android Studio 中建立 KMP 共用模組。這個模組會自動套用所有必要外掛程式 (包括 Android-KMP 外掛程式),方便您開始開發 Android 和 iOS 應用程式。
Kotlin Multiplatform Android Studio 外掛程式
建議安裝 JetBrains 開發的 Kotlin Multiplatform Android Studio 外掛程式。這項外掛程式提供多項功能,可簡化開發體驗:
- 「New project」精靈:在 IDE 中建立新的跨平台專案。
- 預檢:預檢可協助您設定環境。
- 執行設定:直接從 IDE 在 iOS 和 Android 上執行、偵錯及測試應用程式。
- IDE 中的基本 Swift 支援:在 IDE 中取得基本 Swift 支援,包括跨語言偵錯工具、導覽和快速文件。
其他資源
如要進一步瞭解整體跨平台生態系統和更進階的設定,請參閱官方的 Kotlin Multiplatform 說明文件。
kotlin-multiplatform-samples:展示 KMP 專案中 Jetpack 程式庫的部分功能。
開始使用 KMP 程式碼研究室:逐步瞭解如何將 KMP 新增至專案。
將 Room 遷移至 Room KMP 程式碼研究室 - 逐步將僅限 Android 的 Room 遷移至 KMP。
意見回饋
如果您對這些程式庫有任何意見,請透過 Issue Tracker 與我們分享。
為您推薦
- 注意:系統會在 JavaScript 關閉時顯示連結文字
- 將現有應用程式遷移至 Room KMP 程式碼研究室
- 開始使用 KMP 程式碼研究室
- 使用 Android-KMP Gradle 外掛程式