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

添加Unity Ads构建项目遇重复类错误,如何移除冗余保留包版本?

解决Unity Ads重复类构建错误的方案

这个问题我之前碰到过好几次,核心原因就是你的项目里同时存在两套Unity Ads的实现——一套是通过Package Manager添加的官方版本,另一套是旧的本地依赖包或者第三方插件内置的版本,导致类名重复冲突。按下面的步骤一步步排查清理,就能只保留Package Manager的版本:

  • 第一步:清理本地Plugins文件夹的旧依赖
    打开Unity项目的Assets/Plugins/Android目录,仔细找有没有带UnityAds或unity-ads字样的.jar或.aar文件,比如unity-ads-x.x.x.jar、UnityAds.aar这类,找到后直接删除。这些是旧的手动集成方式留下的,和Package Manager的版本冲突了。

  • 第二步:检查并移除手动添加的Gradle依赖
    如果之前你手动修改过项目的Gradle配置文件(比如Assets/Plugins/Android/mainTemplate.gradle或者baseProjectTemplate.gradle),找里面有没有类似这样的代码:

    implementation 'com.unity3d.ads:unity-ads:x.x.x'
    

    把这行依赖删掉,因为Package Manager的Unity Ads会自动帮你管理Gradle依赖,手动加的会导致重复。

  • 第三步:清理Unity缓存并重建项目

    1. 点击Unity顶部菜单的File > Build Settings,切换到Android平台,点击Clean Build按钮清理旧的构建缓存。
    2. 接着点击File > Delete Library,删除Unity的Library文件夹(这个文件夹会自动重新生成,不用担心)。
    3. 重启Unity,等待项目重新加载完成后,再尝试构建。
  • 第四步:排查第三方插件的内置依赖
    有些广告聚合插件(比如AdMob、IronSource这类)可能会内置Unity Ads的依赖,导致重复。你需要:

    • 打开这些插件的设置面板,看有没有“启用Unity Ads”或者“使用内置Unity Ads”的开关,把它关掉,让插件使用你通过Package Manager安装的版本。
    • 如果插件没有相关开关,尝试更新插件到最新版本,新版本通常会适配Package Manager的依赖方式,避免冲突。
  • 第五步:用Gradle依赖树定位隐藏的重复(进阶操作)
    如果上面的步骤都没解决问题,你可以导出Android项目后,用Gradle的依赖树工具找到重复来源:

    1. 在Unity里点击File > Build Settings > Android > Export Project,导出完整的Android项目。
    2. 用Android Studio打开导出的项目,打开终端执行命令:
      ./gradlew dependencies
      
    3. 在输出的依赖树里找com.unity3d.ads:unity-ads的条目,看是哪个模块(比如某个第三方插件)引入了它,然后在对应的Gradle文件里添加排除规则:
      implementation('第三方插件的依赖') {
          exclude group: 'com.unity3d.ads'
      }
      

按照这些步骤操作后,应该就能彻底移除重复的Unity Ads实例,只保留Package Manager安装的版本,构建错误也会消失。

内容的提问来源于stack exchange,提问作者Mr. Tacio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:32:33