建议先看一下这篇文章:
https://linxinfa.blog.csdn.net/article/details/118553713?spm=1001.2101.3001.6650.10&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7Edefault-10.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7Edefault-10.no_search_link
环境:unity2019.4.28
unity2019及以上版本,都是使用gradle来打包的
一.总结
1.Gradle是一个打包工具,各版本的下载地址:https://services.gradle.org/distributions/
在unity中的位置:点击Edit/Preferences/External Tools
如果要升级Gradle,可以从上面的下载地址下载gradle-x.x.x-all.zip,然后将解压文件夹下的lib替换unity安装路径的Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle下的lib
具体参考:https://blog.csdn.net/lalate/article/details/119451761
2.Android Gradle Plugins是一个Gradle的插件,专门用来打包apk
它和Gradle有对应的版本关系,如果版本不对应,可能会报错,对应关系:https://developer.android.google.cn/studio/releases/gradle-plugin.html#updating-plugin
下面这图只截取了一部分,具体见上面的对应关系链接
在unity中配置Android Gradle Plugins的方式是,点击Edit/Project Settings/Player/Publishing Settings,勾选这几个即可看到Assets\Plugins\Android目录下生成了几个配置文件
打开baseProjectTemplate.gradle,可以看到用到的Android Gradle Plugins版本为3.4.0,因此unity的Gradle版本要5.1.1
实际上这几个文件是unity从unity安装目录\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates拷贝过来的,勾选了这几个选项表示为项目进行自定义修改,否则就使用模板默认的
二.实践
1.新建一个unity工程,切换到Android平台,直接Build一个apk
2.Build过程中,出现了Plugin with id 'com.android.application' not found的报错,试了网上很多方案都不行,这里可以将C:\Users\用户名\caches下的所有文件删掉,后面Build的时候会重新下载的,猜测是之前caches下的文件有问题
3.工程使用的Gradle版本,可以在工程目录\Temp\gradleOut\.gradle下看到