Unity集成Google Admob后Gradle构建失败问题求助
解决Unity集成Google Play Games+Admob后的Gradle构建失败问题
1. 找到Gradle配置文件
Unity默认不会直接暴露项目内的build.gradle,你可以通过两种方式获取:
- 导出完整Android项目:打开
File > Build Settings,选择Android平台后点击Export,指定导出目录,导出后在项目根目录和launcher模块下就能找到对应的build.gradle文件。 - 启用自定义Gradle模板:在
Player Settings > Android > Publishing Settings中,勾选Custom Main Gradle Template和Custom Launcher Gradle Template,之后可以直接在Assets/Plugins/Android目录下编辑模板文件。
2. 统一minSdkVersion与targetSdkVersion
打开找到的build.gradle文件(包括根目录和launcher模块的),在defaultConfig块中设置一致的版本号,确保同时满足两个插件的最低要求:
defaultConfig { minSdkVersion 21 targetSdkVersion 34 }
注:Google Play Games和Admob当前推荐minSdk不低于21,targetSdk建议使用最新稳定版
3. 修复Android Gradle插件(AGP)版本兼容
在项目根目录的build.gradle中,调整AGP版本与Gradle版本匹配:
- 找到
dependencies块里的classpath 'com.android.tools.build:gradle:x.x.x',Unity 6建议使用AGP 7.4.x或8.0.x版本。 - 同步修改
gradle-wrapper.properties中的distributionUrl,比如AGP 7.4.x对应Gradle 7.5版本,确保两者版本兼容。
4. 解决mergeDexRelease失败
这个错误多由多Dex冲突或方法数超限导致,可通过以下步骤修复:
- 在
launcher/build.gradle的defaultConfig中添加multiDexEnabled true。 - 统一Google依赖库版本,确保play-services-games和play-services-ads的版本一致,避免依赖冲突。
- 清理Unity缓存:
Edit > Preferences > Cache Server > Clean Cache,之后重新构建或导出项目。
5. 插件版本与配置检查
- 确保Google Play Games和Admob插件都是官方最新版本,旧版本容易存在兼容性漏洞。
- 在Unity的
Player Settings中确认Android权限配置完整,Admob需要的网络权限、广告权限已开启。
内容的提问来源于stack exchange,提问作者Mr. Milieu
相关产品推荐
相关产品推荐

