You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kotlin Multiplatform模块中跨平台共享资源文件?

KMM跨平台共享单个JSON文件的轻量方案

实现步骤

1. 统一存放文件

把你的JSON文件放到KMM模块的src/commonMain/resources目录下(没有该文件夹就新建一个)。

2. 配置Android端打包

在模块的build.gradle.kts的Android配置块里,添加资源目录映射:

android {
    sourceSets["main"].apply {
        resources.srcDir("src/commonMain/resources")
    }
}

Android端访问时,直接用context.resources.openRawResource(R.raw.your_file_name)(注意把JSON放在commonMain/resources/raw子目录下,或者调整路径匹配Android资源规则)。

3. 配置iOS端打包

在build.gradle.kts的各iOS目标配置中,添加资源目录:

listOf(iosX64, iosArm64, iosSimulatorArm64).forEach { target ->
    target.binaries.framework {
        resources.srcDir("src/commonMain/resources")
    }
}

iOS端通过Bundle.main.url(forResource: "your_file_name", withExtension: "json")即可获取文件路径。

验证打包结果

  • Android:构建后检查build/intermediates/resources/main目录,确认JSON文件已存在。
  • iOS:生成Framework后,右键「显示包内容」,查看Resources目录是否包含目标文件。

内容的提问来源于stack exchange,提问作者rimes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 09:51:55