Kotlin Multiplatform (KMP) 支持在不同平台间共享 Kotlin 代码。在开始使用 KMP 构建应用之前,您需要按照本文档的说明设置您的环境。您也可以参考 JetBrains 的官方文档。
安装或更新所需工具
- 安装或更新到最新稳定版的 Android Studio。
- 将 Android Studio 内置的 Kotlin 插件更新到最新版本,以避免兼容性问题。
- (可选)对于 iOS 开发,请安装 Xcode,以便根据需要构建 UI 并添加 Swift 或 Objective-C 代码。
创建 Kotlin Multiplatform 项目
您可以使用 JetBrains 提供的 Kotlin Multiplatform 向导来创建新的 KMP 项目。请确保选择 **Do not share UI**(不共享 UI)选项,以保持 UI 的原生性。
项目结构
KMP 项目遵循与 Android 项目类似的项目结构。
KMP 项目包含特定于平台的模块以及一个共享模块。请将您的特定平台代码添加到相应的模块中。例如,将您的 Android 应用 UI 添加到 androidApp 模块中,将 iOS 应用 UI 添加到 iosApp 中。您希望在各平台间共享的任何代码都应放入 shared 模块中。
与项目的其余部分一样,shared 模块也使用 Gradle 作为构建系统。您可以使用源集 (sourcesets) 来声明通用依赖项和特定于平台的依赖项。例如,如果您的应用使用 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)
}
}
当您向应用的 shared 模块添加新库时,请务必检查每个平台所需的依赖项。