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

Android依赖冲突:如何排除ZEGOCLOUD库中的冲突类?

解决Android依赖重复类冲突问题(针对ZEGOCLOUD UIKit库)

问题分析

错误提示明确显示androidx.annotation.AnimRes类在两个模块中重复:

  • androidx.annotation:annotation:1.5.0(由ZEGOCLOUD预构建通话库引入)
  • androidx.annotation:annotation-jvm:1.7.0-alpha02(你主动引入的依赖)

你之前尝试排除ZEGOCLOUD库中的annotation-jvm模块未生效,大概率是因为ZEGOCLOUD实际依赖的是androidx.annotation:annotation而非annotation-jvm,排除方向有误。


解决方案

1. 调整依赖排除的目标模块

将排除的模块改为ZEGOCLOUD引入的androidx.annotation:annotation,保留你项目中的annotation-jvm依赖:

implementation ('com.github.ZEGOCLOUD:zego_uikit_prebuilt_call_android:2.1.2') {
    exclude group: 'androidx.annotation', module: 'annotation'
}

2. 强制统一依赖版本(更推荐)

直接在模块级build.gradle中添加版本强制规则,让所有依赖统一使用你指定的androidx.annotation版本,彻底避免版本冲突:

configurations.all {
    resolutionStrategy {
        // 强制使用你项目中的版本
        force 'androidx.annotation:annotation-jvm:1.7.0-alpha02'
        // 若你换成Android专属的annotation依赖,可改为:
        // force 'androidx.annotation:annotation:1.7.0-alpha02'
    }
}

3. 排查完整依赖树定位根源

执行Gradle命令生成依赖树,精准查看ZEGOCLOUD库的依赖链:

./gradlew 你的模块名:dependencies

将命令中的「你的模块名」替换为实际模块(如app),在输出中搜索androidx.annotation,即可明确所有相关依赖的来源,再针对性处理。


额外建议

Android项目优先使用androidx.annotation:annotation(Android专属依赖),而非annotation-jvm(纯Java项目用),建议将你主动引入的依赖替换为androidx.annotation:annotation:1.7.0-alpha02,再配合版本强制规则,冲突解决会更顺畅。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 23:58:20