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 pack
    dynamicDelivery {
        // 指定安装时加载assets
        deliveryType = "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下面,不然运行的时候报错
在这里插入图片描述
移动完成之后就可以打包测试,本人测试过,程序运行没异常,而且热更新也可以正常使用

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值