Kotlin 多平台 (KMP) 支持跨平台共享 Kotlin 代码 不同平台开始使用 KMP 构建应用之前,您需要 按照本文档中的说明设置您的环境。您还可以参阅 JetBrain 的官方文档。
安装或更新所需的工具
- 安装或更新到最新的稳定版 Android Studio。
- 更新与 Android Studio 捆绑的 Kotlin 插件 更新到最新版本以避免兼容性问题。
- (可选)对于 iOS 开发,请安装 Xcode 来构建 并根据需要添加 Swift 或 Objective-C 代码。
创建 Kotlin 多平台项目
您可以使用 JetBrains 中的 Kotlin 多平台向导来 创建新的 KMP 项目请务必选择不 共享界面选项,使界面保持原生状态。
项目结构
KMP 项目遵循与 Android 项目类似的项目结构。
KMP 项目包含针对具体平台的模块以及一个共享模块。 将特定于平台的代码添加到相关模块。例如,添加 androidApp 模块中的 Android 应用界面以及 iosApp 中的 iOS 应用界面。 您想在平台之间共享的任何代码都位于 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)
}
}
向应用的共享模块添加新库时,请务必检查 每个平台所需的依赖项