Unity在打包安卓apk时经常会遇到build gradle project失败的情况,现将目前遇到的情况整理如下:
情况一:打包一会过后显示打包失败,并报如下错:
情况二:打包时一直卡在“build gradle project”,纹丝不动(在等待若干个小时后依然卡着,极少概率下可能打包成功)
导致这种情况出现的原因:网络不稳定,在下载Gradle版本或者该项目依赖的库文件时由于网络速度过慢导致下载失败,从而无法正常打包
解决办法:
1.主动更新Gradle版本:
不同的Unity版本使用的Gradle plugin版本不一样,并且在打Android包时由于项目中某些新导入的Plugins或库文件的要求,如TopOn SDK等,需要将Gradle plugin升级到指定版本,如3.5.4及以上,此时为避免打包时网络不稳定导致打包失败,故主动升级Gradle plugin版本。
一、首先需要更改当前项目使用的gradle plugin版本:
Unity2018:在Player Setting ->Publishing Settings中勾选“Custom Gradle Template”后会在“Assets\Plugins\Android\”中生成“mainTemplate.gradle”文件
打开该mainTemplate.gradle:
将以上改为目标gradle plugin版本。如本项目中要求的gradle plugin版本为3.5.4及以上,故修改这里为“3.5.4”即可。
Unity2019及以上:在Player Setting -> Publishing Settings中勾选“Custom Launcher Gradle Template” 和 “Custom Base Gradle Template”即可生成该项目的“launcherTemplate.gradle”,“baseProjectTemplate.gradle”
和Unity2018的“mainTemplate.gradle”一样,修改文件中的“com.android.tools.build:gradle:3.2.0”为“com.android.tools.build:gradle:3.5.4”即可。
PS:“com.android.tools.build:gradle:3.2.0”是当前Unity版本默认的Gradle plugin版本,随着Unity版本升级,后续的Gradle Plugin有可能也会随之改变,并非一定是“3.2.0”
二、替换Unity默认使用的Gradle版本:
首先下载该gradle plugin对应的Gradle版本:
Gradle plugin与Gradle的对应关系:https://developer.android.com/studio/releases/gradle-plugin#updating-gradle
然后下载该Gradle: Gradle | Releases
点击Complete进行下载:
下载完成后进行解压:
然后开始替换Unity默认使用的Gradle版本:
找到Unity的安装目录:\Editor\Data\Playback