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

如何在build.gradle的configurations.all中添加多份resolutionStrategy

关于build.gradle中resolutionStrategy配置的正确性确认

你的写法是可以正常生效的,不会影响原有配置的功能。不过Gradle更推荐将同属resolutionStrategy的配置放在同一个闭包内,代码结构更清晰,也符合Gradle的配置风格。

你的现有写法(可正常运行)

configurations.all {
    resolutionStrategy { force 'androidx.core:core-ktx:1.6.0' }
    
    resolutionStrategy.eachDependency {
        if (requested.group == "org.jfrog.cardinalcommerce.gradle" && requested.name == "cardinalmobilesdk") {
            useVersion("2.2.7-2")
            because("user data consent per Google's Data Safety Policy")
        }
    }
}

这段代码会分别执行两个resolutionStrategy相关配置,原有强制指定androidx.core:core-ktx版本的逻辑不受影响,新增的依赖版本替换规则也能正常生效。

更推荐的规范写法(合并配置闭包)

将所有resolutionStrategy的配置项合并到同一个闭包中,逻辑更集中,便于后续维护:

configurations.all {
    resolutionStrategy {
        // 原有强制版本配置
        force 'androidx.core:core-ktx:1.6.0'
        
        // 新增的依赖版本替换配置
        eachDependency {
            if (requested.group == "org.jfrog.cardinalcommerce.gradle" && requested.name == "cardinalmobilesdk") {
                useVersion("2.2.7-2")
                because("user data consent per Google's Data Safety Policy")
            }
        }
    }
}

两种写法的功能完全一致,后者在代码整洁度和可维护性上更优。

内容的提问来源于stack exchange,提问作者Xavier Ojeda Aguilar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 05:20:09