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

Gradle项目中如何排除com.google.guava的Android变体依赖

解决Guava变体选择冲突问题

针对你遇到的com.google.guava:guava:32.1.2-jre的androidApiElements和jreApiElements变体选择冲突,以下是几种可行的解决方案,确保Web应用使用JRE变体:

方法1:全局强制指定Guava的JRE变体

在build.gradle中添加解析策略,对所有Guava依赖强制选择jreApiElements变体:

configurations.all {
    resolutionStrategy {
        eachDependency { details ->
            if (details.requested.group == 'com.google.guava' && details.requested.name == 'guava') {
                details.useVariant('jreApiElements') {
                    because 'Web应用需使用JRE变体,排除Android相关变体'
                }
            }
        }
    }
}

方法2:禁用Android相关属性

通过配置属性让Gradle自动排除Android兼容的变体,可在项目根目录的gradle.properties中添加:

android.enabled=false

或者在build.gradle的根级别添加:

android.enabled=false

方法3:显式声明Guava依赖并指定JRE能力

直接声明Guava依赖时,明确要求其JRE能力,覆盖传递依赖的变体选择:

implementation('com.google.guava:guava:32.1.2-jre') {
    capabilities {
        requireCapability('com.google.guava:guava-jre')
    }
}

以上方法均可解决变体选择冲突,其中方法1和方法3的可移植性更强,适合跨环境构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 06:16:00