使用unity的Build App Bundle导出.aab文件(提交google play的新格式)

在unity2017.4.x才有的Build App Bundle选项,2018.3 beta也新增了这个选项。我使用的是Unity2017.4.24f1。

下面说一下导出步骤:

1.在Build Setting中Build System 选择Gradle。这样Build App Bundle 才会出现。然后勾选上。

使用unity的Build App Bundle导出.aab文件(提交google play的新格式)_第1张图片

2.在Player Setting中Other Setting的一些设置。使用谷歌的新格式AAB文件提交的时候需要支持64位的,下面要选择IL2CPP,然后勾上ARM64。使用IL2CPP,需要NDK。这个可以再unity中根据提示进行下载。

使用unity的Build App Bundle导出.aab文件(提交google play的新格式)_第2张图片

3.勾选Custom Gradle Template。

使用unity的Build App Bundle导出.aab文件(提交google play的新格式)_第3张图片

4.勾上后会在Assets\Plugins\Android中生成MainTemplate.gradle文件。

下面就可以正常导出了,导出后会生成如下两个文件,只需要将AAB文件上传google play就行了。

下面说一下我导出过程中出现的一些问题:

1.NDK的问题。我使用的SDK是Android Studio中的SDK,NDK刚开始我也是用的Android Studio中下载的,不过不好用,导出老是报错,我就使用了unity提示的NDK版本下载后放在Android Studio中SDK文件夹中的ndk-bundle中。

2.mainTemplate.gradle文件中配置问题,我刚开始怎么导都是报错的:局部如下:

CommandInvokationFailure: Gradle build failed. 
C:/Program Files/Java/jdk1.8.0_192\bin\java.exe -classpath "D:\Program Files\Unity2017.4.24f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-4.6.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "bundleRelease"
我打开mainTemplate.gradle文件发现缺少了一些东西(最后成功导出后进行对比发现的)。

 

使用unity的Build App Bundle导出.aab文件(提交google play的新格式)_第4张图片

圈住的部分是我导出失败缺失的东西,估计是导出的时候关于google的一些配置没有拉取一下导致的导出失败。要是你也缺少了这些东西,那么你可以试着手动加上,直接在Assets\Plugins\Android中生成MainTemplate.gradle文件添加是没用的,要从根本上修改,在unity安装目录下找到mainTemplate.gradle进行修改。参考路径:D:\Program Files\Unity2017.4.24f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates.gradle

3.如果mainTemplate.gradle文件没问题,导出还是失败的话,可以根据报错的信息看到是什么导致的失败。如:keystore密码错误或第三方插件中的问题。

下面是我解决问题过程中搜索过的几篇文章。希望对你们有用。

网易关于Unity 2018.3 beta中的Android App Bundle (AAB)支持的文章:

http://dy.163.com/v2/article/detail/DTMUAB4R0526E124.html

项目中StreamAssets文件超标的问题

https://blog.csdn.net/liqing19850102/article/details/83143146

android的目标版本必须>=28,下面的连接中mainTemplate.gradle中就缺少了我上面说的google()。

https://cloud.tencent.com/developer/ask/209789

 

************************************************************************************************************************

2019.9.2补充:

经过提交之后发现,google给了一个提醒。

提醒
此版本不符合 Google Play 关于提供 64 位版本应用的规定

以下 APK 或 App Bundle 面向 64 位设备,但只有 32 位原生代码:8。

自 2021年8月1日起,在 Google Play 中发布的应用都必须提供 64 位版本。

请向应用中添加 64 位和 32 位原生代码。您可以使用 Android App Bundle 发布格式来自动确保每种设备架构仅接收所需要的原生代码。这样可避免增加应用的总大小。了解详情。

针对该情况把x86去掉就可以了。

使用unity的Build App Bundle导出.aab文件(提交google play的新格式)_第5张图片

你可能感兴趣的:(unity,android)