Unity打包安卓aab包,上传一个超过150M的aab包到谷歌商店的办法

Play Asset Delivery

什么是Play Asset Delivery(PAD)请大家自行上网查找,网上有很多详细介绍,
例如

https://blog.csdn.net/g984160547/article/details/119328718

我在这里就不过多介绍了。

简单来说就是这种设置方式,就是让资源(例如可以进行热更新的一些prefabs)放到一个新的模块里面,这样打包出来的aab包即使大于150M,也可以被上传到谷歌商店审核。

踩坑过程

首先,PAD这种打包方式Unity是有插件可以帮助我们完成的,获取途径点击上方连接,文章里面也有详细获取方式和设置方法。我也尝试试过用这款插件去打包,不知道是不是我的U3D版本太旧(2018)导致使用不了这个插件(有成功的大佬们可以交流一下),然后我就只能导出项目到Android Studio那边进行PAD设置,以下为详细过程。

踩坑过程 - 在AS创建新模块

在主目录下右键创建一个新的Module
在这里插入图片描述
选择第二个,然后把模块的名字改为 install_asset_pack,点击finish
在这里插入图片描述
然后在这个模块下的main文件夹,创建一个Directory,名字为assets.

在这里插入图片描述

踩坑过程 - 配置install_asset_pack的build.gradle文件

注意:这里配置的是install_asset_pack的build.gradle,别配置主程序的gradle或者其他模块的gradle

在install_asset_pack的build.gradle里面加上这段代码

apply plugin: 'com.android.library'
apply plugin: 'com.android.asset-pack'assetPack {// pack 的名字,需要与module名称一致,建议只用英文+下划线命名packName = "install_asset_pack" // Directory name for the asset packdynamicDelivery {// 指定安装时加载assetsdeliveryType = "install-time"}
}

最终效果如图,至于gradle里面是其他代码段,例如android,dependencies这些都没改动,都是创建时候的默认状态
在这里插入图片描述

踩坑过程 - 配置主模块的build.gradle

找到自己项目的主build.gradle,
(1)在主gradle的dependencies模块下添加 implementation "com.google.android.play:core:1.10.0"
(2)在主gradle的 android模块下添加 assetPacks = [":install_asset_pack"]

查看settings.gradle,是否有 include ':install_asset_pack' ,如果没有请加上。

踩坑过程 - 配置Gradle Version

在AS右上角点击这个图标
在这里插入图片描述

输入图里的版本信息
在这里插入图片描述
至于其他版本我没有试验过行不行,如果有大佬尝试过,还有其他版本也可以使用的话,留个言,交流下。
至此,配置方面完全弄好了

踩坑过程 - 移动资源

还记得文章开头在新模块下的asset文件夹吗?
把资源移动到asset文件里面,注意:unity导出的项目里面的assets文件下的bin.data不能移动到新的asset下面,不然运行的时候报错
在这里插入图片描述
移动完成之后就可以打包测试,本人测试过,程序运行没异常,而且热更新也可以正常使用


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部