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

给现有Android应用添加KMM模块时出现Gradle仓库配置错误

解决KMM模块添加后的Gradle仓库冲突错误

错误原因

这个错误是因为项目在settings.gradle.kts中配置了优先使用settings级别的仓库(RepositoriesMode.PREFER_SETTINGS),但shared模块的构建过程中(大概率是间接依赖的第三方库)引入了Ivy仓库,而该仓库未在settings中声明,导致Gradle抛出冲突提示。你没在shared/build.gradle.kts里找到Ivy配置,是因为它是被依赖的库间接引入的。

具体解决方案

1. 定位引入Ivy仓库的来源

在Android Studio的Terminal中执行命令,找出是哪个依赖或插件带进来的Ivy仓库:

  • Mac/Linux:
    ./gradlew shared:dependencies --info | grep -A5 -B5 ivy
    
  • Windows:
    gradlew.bat shared:dependencies --info | findstr /C:"ivy" /A
    

执行后会输出包含ivy关键字的依赖或仓库配置,从中定位到来源。

2. 在settings中统一声明Ivy仓库

找到来源后,在settings.gradle.kts的dependencyResolutionManagement块中添加对应的Ivy仓库配置,示例如下:

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
    repositories {
        google()
        mavenCentral()
        // 根据定位到的Ivy仓库地址添加配置
        ivy {
            url = uri("对应的Ivy仓库URL")
            // 若需要,配置仓库布局、认证信息等
            layout("gradle")
        }
    }
}

这样Gradle就会使用settings中声明的仓库,不再报错。

3. 移除不必要的依赖(若适用)

如果定位到的Ivy仓库来自某个你不需要的依赖,直接在shared/build.gradle.kts中移除该依赖即可解决问题。

4. 升级Kotlin/KMM插件版本

旧版本的Kotlin Multiplatform插件可能会默认引入Ivy仓库,将插件升级到最新稳定版:
在项目根目录的build.gradle.kts中更新插件版本:

plugins {
    id("com.android.application") version "最新Android插件版本" apply false
    id("org.jetbrains.kotlin.android") version "最新Kotlin版本" apply false
    id("org.jetbrains.kotlin.multiplatform") version "最新Kotlin版本" apply false
}

同步Gradle后,新版本插件可能已移除对Ivy仓库的依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 14:52:16