Unity2018使用Gradle打包Android

https://docs.unity3d.com/2018.4/Documentation/Manual/android-gradle-overview.html

所用版本unity2018.4.19

打包流程:使用unity的gradle导出工程,在导出的工程中添加androidstudio生成的库工程以及做其他的设置,使用gradle打包最终的apk。

下面是在这个过程中遇到的一些问题进行记录。

1.如果需要开启自定义的.gradle文件,要勾选Playersetting中android的custom gradle template:

Unity2018使用Gradle打包Android

会自动生成一个 mainTemplate.gradle 文件,然后对这个文件进行自定义的修改(适配后续需要添加的android库工程,比如要去远端下载库文件,比如导入googleservice插件)

2.修改内容mainTemplate.gradle :

左边是默认生成的,后边是修改的:

可以在对应的模块内增加内容;也可以删除他本身的宏,使用自己写的,对比下面的第二张第三张图;

在导出的过程中,**XXXX**中的都会被的设置上对应的值

Unity2018使用Gradle打包Android

Unity2018使用Gradle打包Android

Unity2018使用Gradle打包Android

3.添加到plugin/android下面的库工程根目录必须有:

1.包含文件 project.properties 

内容:

android.library=true

2.包含一个AndroidManifest.xml

如果文件夹不包含  project.properties ,那么unity在导出过程后不会包含此文件夹,也就是不参与导出过程。

如果文件夹包含project.properties,但是不包含AndroidManifest.xml,导出会报错。一般在AndroidStudio中创建的库工程,目录结构不是这样的,所以不能直接放到Unity中使用。

Unity2018使用Gradle打包Android

4.导出的过程中,中间文件夹都在Temp目录下。

如果是使用gradle进行build生成apk,有问题也可以在这个目录下找到中间的gradle工程,可以使用androidstudio打开,看看有什么问题。

 

导出成功后,就可以添加一些库工程,配置好了以后使用gradle打包,都可以用命令行实现。unity导出工程也可以用命令行。最终实现自动打包。