https://docs.unity3d.com/2018.4/Documentation/Manual/android-gradle-overview.html
所用版本unity2018.4.19
打包流程:使用unity的gradle导出工程,在导出的工程中添加androidstudio生成的库工程以及做其他的设置,使用gradle打包最终的apk。
下面是在这个过程中遇到的一些问题进行记录。
会自动生成一个 mainTemplate.gradle 文件,然后对这个文件进行自定义的修改(适配后续需要添加的android库工程,比如要去远端下载库文件,比如导入googleservice插件)
左边是默认生成的,后边是修改的:
可以在对应的模块内增加内容;也可以删除他本身的宏,使用自己写的,对比下面的第二张第三张图;
在导出的过程中,**XXXX**中的都会被的设置上对应的值
如果不想用**XXXX**(Unity Editor中Playersetting中设置的值)就直接替换了就可以,比如上述的minsdkversion targetsdkversion applicationid,以及下面的versionCode和versionName:
1.包含文件 project.properties
内容:
android.library=true
2.包含一个AndroidManifest.xml
如果文件夹不包含 project.properties ,那么unity在导出过程后不会包含此文件夹,也就是不参与导出过程。
如果文件夹包含project.properties,但是不包含AndroidManifest.xml,导出会报错。一般在AndroidStudio中创建的库工程,目录结构不是这样的,所以不能直接放到Unity中使用。
如果是使用gradle进行build生成apk,有问题也可以在这个目录下找到中间的gradle工程,可以使用androidstudio打开,看看有什么问题。
导出成功后,就可以添加一些库工程,配置好了以后使用gradle打包,都可以用命令行实现。unity导出工程也可以用命令行。最终实现自动打包。
unity使用的android sdk版本是29,但是sdk的目标level是28,打出的apk在android29的系统中崩溃。
所以unity中targetsdkversion也是设置成28
https://zhuanlan.zhihu.com/p/44559662
通过Player设置中的Api Compatibility Level选项为Player构建选择.NET配置。Unity支持的两个.NET配置是:
.NET Standard 2.0
配置与.NET Foundation发布的同名配置匹配。这个配置非常适合新的Unity项目。它比.NET 4.x小,适用于内存受限的平台,如手机。此外,此配置适用于Unity支持的所有平台。如果你为Unity开发dll库,你也应该选择这个配置选项。
.NET 4.x
配置提供最新的.NET 4 API,包括.NET Framework类库中提供的所有代码。它也支持所有.NET Standard 2.0配置,因此它可以与基于.NET Standard 2.0构建的托管程序集一起使用。虽然它提供了大量API的访问,但某些API无法在所有平台上运行。如果你的项目需要.NET Standard中未公开的功能或具有遗留代码,.NET 4.x可能是一个不错的选择。