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

Android依赖冲突:com.payu.gpay如何正确排除重复类冲突依赖

Android依赖重复类冲突解决方案

问题根因说明

你之前的排除配置不生效,是因为指定的排除group错误:冲突的installreferrer依赖所属group为com.android.installreferrer,并非你配置的com.google.android。另外如果payu-gpay直接将installreferrer的类打包到自身aar(非传递依赖引入),常规排除配置也会失效。

方案1:排除传递依赖(优先尝试)

如果payu-gpay是通过传递依赖引入的installreferrer,使用如下配置即可排除冲突依赖:

api ('com.payu.gpay:payu-gpay:1.1.4'){
    exclude group: 'com.android.installreferrer', module: 'installreferrer'
}

配置完成后同步项目即可。你可以执行以下命令验证payu-gpay的依赖树,确认是否存在installreferrer传递依赖:

# Windows环境执行时去掉开头的./,将app替换为你的业务模块名
./gradlew app:dependencies --configuration releaseRuntimeClasspath | grep -A 10 "payu-gpay"

如果查询结果中payu-gpay下无installreferrer依赖记录,说明installreferrer是被直接打入payu-gpay的aar包中,需要使用方案2处理。

方案2:packagingOptions优先级配置

对于aar内嵌的重复类,你可以在模块级build.gradle的android闭包中添加packagingOptions规则,指定重复类的选择优先级:

android {
    // 原有配置保持不变
    packagingOptions {
        // 优先选用官方installreferrer库中的重复类,也可根据业务需要调整选择逻辑
        pickFirst "com/google/android/a/a.class"
        pickFirst "com/google/android/a/b.class"
        pickFirst "com/google/android/a/c.class"
    }
}

兜底方案:全局强制依赖版本

如果上述方案仍未解决问题,可在项目根目录build.gradle的allprojects闭包中添加全局版本强制规则:

allprojects {
    configurations.all {
        resolutionStrategy {
            // 全局强制使用2.1版本的installreferrer
            force 'com.android.installreferrer:installreferrer:2.1'
        }
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:45:05