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

KMM构建报错:XXXKotlinCharCompanion无法映射到KotlinChar.Companion

KMM构建报错'XXXKotlinCharCompanion' could not be mapped to 'KotlinChar.Companion'解决方案

针对你遇到的clean build后失败、后续构建正常,且关联kotlinx-datetime 0.4.1的问题,可尝试以下方案:

  • 升级kotlinx-datetime版本:将依赖版本更新到0.6.0及以上的稳定版,旧版本0.4.1与Kotlin 1.9.x系列存在兼容性问题,尤其是iOS端符号映射逻辑的bug已在后续版本修复。修改依赖配置为:

    api("org.jetbrains.kotlinx:kotlinx-datetime:0.6.0")
    export("org.jetbrains.kotlinx:kotlinx-datetime:0.6.0") // 若仍需iOS端暴露API
    
  • 调整依赖暴露策略:如果iOS端无需直接调用kotlinx-datetime的API,仅在common模块使用,可移除iOS模块的export配置,改用implementation,避免不必要的符号暴露引发映射冲突:

    // common模块
    api("org.jetbrains.kotlinx:kotlinx-datetime:0.4.1")
    // iOS模块
    implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.4.1")
    
  • 彻底清理构建缓存:常规clean可能未清除全部缓存,手动删除以下目录后重新构建:

    • 项目根目录下的.gradle文件夹
    • iOS项目的DerivedData目录(可通过Xcode的File > Project Settings > Derived Data找到路径)
  • 对齐Kotlin与KMM插件版本:确保KMM Gradle插件版本与Kotlin版本完全一致,比如使用Kotlin 1.9.20时,插件配置应为:

    plugins {
        id("com.android.application") version "8.2.0"
        id("org.jetbrains.kotlin.multiplatform") version "1.9.20"
    }
    
  • 临时构建顺序 workaround:若暂时无法升级依赖,clean后先单独编译common模块,再编译iOS模块,避免全量构建时的符号冲突:

    ./gradlew common:build
    ./gradlew ios:build
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 09:40:01