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

KMM项目集成Moko Resources遇Gradle配置变更错误求助

解决KMM集成Moko Resources时的Gradle配置错误

可行解决方案:

  • 校验Gradle与插件版本兼容性
    Moko Resources对Gradle和Kotlin版本有明确要求,比如0.23+版本需Gradle 7.4+、Kotlin 1.8.0+。可修改项目根目录gradle/wrapper/gradle-wrapper.properties:

    distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
    

    同时在根build.gradle.kts更新Kotlin插件版本:

    plugins {
        kotlin("multiplatform") version "1.8.20" apply false
    }
    
  • 调整插件应用顺序
    确保Moko Resources插件在Kotlin Multiplatform插件之后应用,shared模块build.gradle.kts配置示例:

    plugins {
        kotlin("multiplatform")
        id("dev.icerock.mobile.multiplatform-resources")
    }
    
  • 临时禁用Gradle配置缓存
    该错误常与配置缓存冲突,在gradle.properties添加:

    org.gradle.configuration-cache=false
    

    执行命令清理缓存后重新构建:

    ./gradlew clean build --no-build-cache
    
  • 排查冲突插件
    部分第三方插件(如代码生成、打包类插件)可能与Moko Resources配置逻辑冲突,尝试暂时禁用非必要插件,逐步定位冲突源。

  • 更新Moko Resources至最新稳定版
    旧版本存在已知Gradle兼容问题,在shared模块build.gradle.kts更新依赖:

    dependencies {
        commonMainImplementation("dev.icerock.moko:resources:0.23.0")
        // 同步更新其他相关Moko依赖
    }
    
  • 修正iOS目标配置
    确保iOS目标配置无重复或错误属性,shared模块示例配置:

    iosX64()
    iosArm64()
    iosSimulatorArm64()
    
    sourceSets {
        val iosX64Main by getting
        val iosArm64Main by getting
        val iosSimulatorArm64Main by getting
        val iosMain by creating {
            iosX64Main.dependsOn(this)
            iosArm64Main.dependsOn(this)
            iosSimulatorArm64Main.dependsOn(this)
            dependencies {
                // iOS相关依赖
            }
        }
    }
    

错误核心是配置解析后被修改,多由插件顺序、版本不兼容或缓存冲突导致,按上述步骤逐一排查即可解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 07:50:56