Unity使用Gradle打包出错问题
新版Unity的Android平台的创建系统默认使用的Gradle,也是跟随了Android开发技术发展,毕竟现在开发Android基本都是用Android Studio了。但是当使用Gradle方式打包Android时会出错,无法成功。这里先讲下如何切换回Legacy模式(就是老版使用eclipse出Android)进行打包,然后再讲如何解决这个错误。我现在的错误是因为无法从默认仓库下载包导致的问题。
使用老版 Internal
先前为了抓紧时间出包就改成了老版方式,需要改两个地方
- 打开 File/Build Settings 将 Build System改成 Internal
- 打开 Player Settings/Publishing Settings,勾选 Use Legacy SDK tools
使用Gradle
受当初解决配置Android Studio问题启发,然后也看了下出错日志,发现还是因为使用Gradle从仓库下载包下载失败导致的。
去改下unity中android的Gradle Template吧,当然也可以自定义模板,还是去 Publishing Settings 中然后勾选 Custom Gradle Template,再在工程目录 Plugins 中定制自己的模板。
修改默认 Gradle 配置文件
去unity的安装目录,然后一路来到 GradleTemplates 目录。我现在使用的是 2018.4.0f1。目录是这样子的。
..\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates
找到里面的 mailTemplate.gradle 文件,修改里面的内容。将 repositories 中的 google() jcenter() 改成阿里的仓库镜像。
修改前
repositories {
google()
jcenter()
}
...
allprojects {
repositories {
google()
jcenter()
flatDir {
dirs 'libs'
}
}
}
修改后
repositories {
maven {
url "https://maven.aliyun.com/repository/google"
}
maven {
url "https://maven.aliyun.com/repository/jcenter"
}
}
...
allprojects {
repositories {
maven {
url "https://maven.aliyun.com/repository/google"
}
maven {
url "https://maven.aliyun.com/repository/jcenter"
}
flatDir {
dirs 'libs'
}
}
}
这样修改后再次打包就可以正常从仓库下载包了,然后就打包成功了。