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

Xcode运行Kotlin多平台代码时遭遇后端内部编译错误

Kotlin多平台iOS编译错误(IR lowering阶段异常)处理方案

错误日志

Task :shared:compileKotlinIosX64 UP-TO-DATE
Task :shared:linkDebugFrameworkIosX64 FAILED
e: 编译失败:Backend Internal error: IR lowering期间发生异常
正在编译的文件:/opt/buildAgent/work/b2fef8360e1bcf3d/formats/json/commonMain/src/kotlinx/serialization/json/JsonAnnotations.kt
根本原因java.lang.AssertionError抛出位置:org.jetbrains.kotlin.backend.konan.lower.InitializersLowering$InitializersTransformer.lowerConstructors(InitializersLowering.kt:161)

  • Source files:
  • Compiler version info: Konan: 1.6.10 / Kotlin:1.6.10
  • Output kind: STATIC_CACHE
    e: org.jetbrains.kotlin.backend.common.BackendException: Backend Internal error: IR lowering期间发生异常
    正在编译的文件:/opt/buildAgent/work/b2fef8360e1bcf3d/formats/json/commonMain/src/kotlinx/serialization/json/JsonAnnotations.kt
    根本原因java.lang.AssertionError抛出位置:org.jetbrains.kotlin.backend.konan.lower.InitializersLowering$InitializersTransformer.lowerConstructors(InitializersLowering.kt:161)
    (后续堆栈跟踪省略)

解决步骤

1. 升级Kotlin及相关依赖版本

该错误是Kotlin 1.6.x版本的已知IR后端bug,升级到Kotlin 1.7.0及以上版本可直接修复。修改项目配置文件:

// 项目根build.gradle.kts
plugins {
    kotlin("multiplatform") version "1.7.20" apply false
    kotlin("plugin.serialization") version "1.7.20" apply false
}

同步更新kotlinx-serialization依赖版本,保持与Kotlin版本匹配:

// shared模块build.gradle.kts
dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1")
}

2. 临时禁用IR后端(降级方案)

若暂时无法升级版本,可在iOS目标配置中切换到旧后端编译:

// shared模块build.gradle.kts
kotlin {
    iosX64 {
        compilations.all {
            kotlinOptions.freeCompilerArgs += "-Xuse-old-backend"
        }
    }
    // 其他iOS目标(如iosArm64、iosSimulatorArm64)需同步配置
}

3. 清理缓存并重新构建

修改配置后执行以下命令:

./gradlew clean
./gradlew shared:linkDebugFrameworkIosX64

4. 检查序列化注解使用

确保项目中kotlinx-serialization的使用符合规范:

  • 数据类必须添加@Serializable注解
  • 避免在序列化类的构造函数中编写复杂初始化逻辑,保持属性初始化简洁

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 11:11:15