Skip to main content

集成SDK Gradle冲突报错

问题描述

  • 部分广告平台SDK对 Gradle版本Android Gradle Plugin (AGP) 版本 有要求

  • 冲突报错由于项目本地所使用的 Gradle版本AGP版本 跟广告平台所要求的版本不匹配导致的

  • 该文档提供解决思路,方便Unity开发者解决此类问题

解决思路

以开发者接入 Google Play Services Ads V24.7.0 版本,Unity 2020.3.x LTS 为例

implementation 'com.google.android.gms:play-services-ads:24.7.0'

第一步:确认接入广告平台要求匹配的Gradle版本

deepseek'com.google.android.gms:play-services-ads:24.7.0' 支持Gradle版本和AGP版本是多少"

第二步:确认Unity引擎适配的Gradle范围

deepseek"2020 Unity 引擎Gradle版本和AGP版本适配范围"

  • 如果Unity引擎能适配广告平台的Gradle和AGP版本,根据 第三步 进行操作

  • 如果不能适配,根据 第四步 进行操作

第三步:Unity引擎能适配Gradle

确认项目Gradle使用版本

(1)使用Unity默认配置
  • deepseek问适配范围

  • 或者直接查看Unity安装目录的Gradle来确定版本,路径如下:

Windows:

C:\Program Files\Unity\Hub\Editor\{version}\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle

macOS:

/Applications/Unity/Hub/Editor/{version}/PlaybackEngines/AndroidPlayer/Tools/gradle

查看该目录下的 lib 文件夹可以确定Gradle版本和AGP版本

(2)使用自定义Gradle模板
  • 在 Unity Editor 中,找到 Publishing Settings 区域,查看 Build 部分:
    • 如果 Custom Gradle Template 没有被勾选:说明项目使用 Unity 内置的默认 Gradle
    • 如果 Custom Gradle Template 被勾选:说明项目使用自定义配置。Unity 会在 Assets/Plugins/Android 目录下生成一个 mainTemplate.gradle 文件。找到这个文件打开并查看
  • 分析 mainTemplate.gradle 文件,寻找以下关键行:
// 这行定义了 Android Gradle Plugin (AGP) 的版本
classpath 'com.android.tools.build:gradle:X.X.X'

// 这行定义了 Gradle 版本(可能在文件开头或末尾的注释里)
// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
distributionUrl=https\://services.gradle.org/distributions/gradle-X.X.X-all.zip
(3)更新Gradle

deepseek"Unity项目使用Gradle 5.6.4 AGP版本3.6.0,怎么更新Gradle到6.5 AGP版本更新到4.1.X" 。然后根据回复修改文件更新Gradle

第四步:Unity引擎能不能适配Gradle

根据第一步确认 play-services-ads:24.7.0 广告平台要求 AGP版本最低要求V7.4.0, Gradle版本 V7.5,而使用的 Unity 2020.3.x LTS 不兼容 Gradle7.0+

  • 可以选择不更新Unity引擎,降低play-services-ads版本

  • 或者 升级 Unity 引擎版本来适配该平台

升级Unity 引擎版本到支持版本

deepseek"Unity哪个版本能支持 AGP 7.4.0+ 和 Gradle 7.5+"

降低play-services-ads版本

也可以使用DeepSeek,需要先确认play-services-ads版本是否支持(确认版本后需要跟TP沟通,低版本adapter有些功能不支持)

  • 举例:如果DeepSeek推荐适配版本是23.4.0,需要在ChangeLog中查看是否支持过该play-services-ads版本,如果历史支持可以使用play-services-ads:23.4.0 和对应的adapter版本


以上文档提供解决的思路,具体情况要根据开发者使用引擎版本和接入平台需要的Gradle版本来调整