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

