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

Unity构建Android游戏出现Duplicate class重复类报错如何解决

Android构建Unity Ads重复类报错修复方案

核心报错

构建Android平台游戏时触发构建失败,抛出类重复冲突错误:

Duplicate class com.unity3d.ads.BuildConfig found in modules com.unity3d.ads.unity-ads-4.2.1-runtime.jar (:UnityAds:) and com.unity3d.ads.unity-ads-4.2.1-runtime.jar (:com.unity3d.ads.unity-ads-4.2.1:)

控制台会批量输出同类型的com.unity3d.ads包下类重复报错,卸载重装Unity Ads插件无法解决该问题。

问题原因

报错本质是Unity Ads 4.2.1依赖被重复引入:两个模块名不同的依赖包中打包了完全一致的Unity Ads运行时代码,编译阶段出现类文件冲突。常见触发场景:

  • 同时通过Unity Package Manager和本地Plugins目录两种方式导入了Unity Ads
  • 接入的广告聚合SDK(如AdMob、AppLovin、IronSource等)内嵌了Unity Ads依赖,和手动/UPM安装的Unity Ads形成重复

修复步骤

按顺序执行以下操作即可解决冲突:

  • 清理本地冗余插件
    打开项目Assets/Plugins/Android目录,搜索所有名称包含unity-ads的.jar、.aar文件,删除手动放入的Unity Ads安装包,仅保留单一来源的依赖即可。
  • 排除聚合SDK的传递依赖
    如果项目接了广告聚合平台,找到Android依赖配置文件(通常是Assets/Plugins/Android/mainTemplate.gradle,或聚合插件自带的gradle配置项),在聚合SDK的依赖声明中排除内嵌的Unity Ads,示例配置:
    implementation('你的聚合SDK依赖坐标') {
        exclude group: 'com.unity3d.ads', module: 'unity-ads'
    }
    
  • 强制统一依赖版本(兜底)
    若无法定位重复依赖来源,在mainTemplate.gradle的android配置块中添加全局强制解析规则,指定构建时仅使用单一版本的Unity Ads:
    android {
        // 保留原有其他配置
        configurations.all {
            resolutionStrategy {
                force 'com.unity3d.ads:unity-ads:4.2.1'
            }
        }
    }
    
  • 清理缓存重构建
    修改完配置后执行清理:关闭Unity编辑器,删除项目根目录下的Library、Temp缓存文件夹,重新打开项目等待导入完成后再发起构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 17:24:20