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
相关产品推荐
相关产品推荐

