本文主要是介绍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下面,不然运行的时候报错
移动完成之后就可以打包测试,本人测试过,程序运行没异常,而且热更新也可以正常使用
这篇关于Unity打包安卓aab包,上传一个超过150M的aab包到谷歌商店的办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!