Kotlin Multiplatform Development Help

为项目添加依赖项

你已经创建了首个跨平台Kotlin项目!现在让我们学习如何添加第三方库依赖项,这对构建成功的跨平台应用至关重要。

依赖项类型

在Kotlin跨平台项目中可使用两种依赖项:

  • 跨平台依赖项 。这类库支持多平台目标,可用于通用源集commonMain

    许多现代Android库已具备跨平台支持,例如KoinApolloOkio 。更多跨平台库可通过JetBrains的实验性搜索服务klibs.io发现。

  • 原生依赖项 。这些是各生态系统的常规库。在原生项目中,Android通常使用Gradle管理,iOS则使用CocoaPods或其他依赖管理器。

    在共享模块中,若需使用平台API(如安全存储),仍需添加原生依赖项至androidMainiosMain源集。

两种依赖项均可使用本地或外部仓库。

添加跨平台依赖项

让我们为应用添加节日氛围:在设备信息基础上,新增显示距离元旦天数的功能。全平台支持的kotlinx-datetime库是处理日期的最便捷方式。

  1. 打开shared目录下的build.gradle.kts文件。

  2. commonMain源集依赖项中添加:

    kotlin { sourceSets { commonMain.dependencies { implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.0") } } }
  3. 点击通知栏的立即同步同步Gradle文件。

    同步Gradle文件
  4. shared/src/commonMain/kotlin中新建NewYear.kt文件。

  5. 使用date-time日期运算实现计算元旦剩余天数的函数:

    import kotlinx.datetime.* fun daysUntilNewYear(): Int { val today = Clock.System.todayIn(TimeZone.currentSystemDefault()) val closestNewYear = LocalDate(today.year + 1, 1, 1) return today.daysUntil(closestNewYear) } fun daysPhrase(): String = "距离元旦只剩${daysUntilNewYear()}天啦!🎆"
  6. Greeting.kt中更新Greeting类以展示结果:

    class Greeting { private val platform: Platform = getPlatform() fun greet(): List<String> = buildList { add(if (Random.nextBoolean()) "嗨!" else "你好!") add("猜猜这是啥!> ${platform.name.reversed()}!") add(daysPhrase()) } }
  7. 从Android Studio重新运行composeAppiosApp配置查看效果:

添加外部依赖后的跨平台移动应用

下一步

教程下一部分将为项目添加更多依赖项和复杂逻辑。

进入下一部分

另请参阅

获取帮助

23 四月 2025