Unity打包aab上传谷歌商店超过150M

目录

上传谷歌商店报错提示:

对data.unity3d文件进行缩减

从谷歌商店下载应用资源的方式有三种:

我使用解决方案(install-time方法)

install-time方法操作前注意事项

操作一:将项目浏览方式从Android切换为Project

操作二:创建Android Library

操作三:在相应的脚本中添加代码

操作四:移动资源Addressables资源文件,按照以下步骤进行操作

接下来Build AAB包即可


谷歌原生方法icon-default.png?t=N7T8https://developer.android.com/guide/playcore/asset-delivery/integrate-native?hl=zh-cn谷歌针对unity方法icon-default.png?t=N7T8https://developer.android.com/guide/playcore/asset-delivery/integrate-unity?hl=zh-cn

上传谷歌商店报错提示:

您的 App Bundle 包含的以下配置会使应用的初始安装大小超过 150 MB 的上限:arm64-v8a,armeabi-v7a​​​​​​​

对data.unity3d文件进行缩减

为什么要拆分压缩?data.unity3d这个文件是不可以修改和更换路径,更换路径出现 Unable to Initialize Unity Engine 这个报错,可以使用AB、Addressables或其他方式进行拆分压缩,只要将data.unity3d这个文件的大小远远小于150兆,将拆分出来的资源放到文章中指定的位置即可

我这里使用了Addressables资源管理方式,对data.unity3d文件的缩减,Addressables的使用看参考文章:Addressables的使用icon-default.png?t=N7T8https://linxinfa.blog.csdn.net/article/details/122390621?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1-122390621-blog-123851193.pc_relevant_multi_platform_whitelistv3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1-122390621-blog-123851193.pc_relevant_multi_platform_whitelistv3&utm_relevant_index=2

按照文章中的操作创建Addressables资源即可,这里建议创建路径使用默认路径,避免出错

从谷歌商店下载应用资源的方式有三种:

  • install-time:安装应用时会同时下载并安装到手机里的资源。
  • fast-follow:安装完应用之后之后会立刻下载下载,如果安装完应用立刻打开,可能会出现资源未下载完成的情况。
  • on-demand:安装应用之后并不会自动下载,而是需要游戏从服务器上下载。

我使用的解决方案(install-time方法)

这里我用的是install-time方法

打包出来的aab文件进行解压(将.aab后缀改为.zip即可)结构如下图,其中base文件夹中的文件就是我们超出150M的文件

其中data.unity3d文件占用存储空间最大,data.unity3d文件中包含了游戏中的用到的场景资源及unity初始化的相关数据,如果将文件作为PAD资源包下载到手机上会出现unity初始化失败的情况(报错提示:Unable to Initialize Unity Engine),所以我们要将data.unity3d文件夹中的场景资源拆分出来(我是用Addressables资源管理方式进行拆分的),将其中Addressables资源文件作为PAD资源包下载到手机上

点击这里:对data.unity3d文件进行缩减



 以下为解决方案操作步骤及操作中可能出现的问题

install-time方法操作前注意事项

  1. AndroidStudio版本要在4.0以上
  2. AndroidStudio工程名称中不要出现空格或其他字符,避免创建Module失败的可能
  3. complieSdkVersion 和 targetSdkVersion一定要不小于30
  4. gradle版本不应小于4.0

 

操作一:将项目浏览方式从Android切换为Project

 

操作二:创建Android Library

 在菜单栏中找到 File → New → New Module

 选择Android Library并将Module name改为 install-time-asset_pack 点击 Finish按钮创建

install-time-asset_pack

​​​​​​​

 创建出现报错:

Build file '/Users/****/Nightclub/install-time-asset_pack/build.gradle' line: 2

Plugin [id: 'com.android.library'] was not found in any of the following sources:

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org.gradle.api.plugins.UnknownPluginException: Plugin [id: 'com.android.library'] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)

如果出现异常的报错,解决方案如下: 

选择项目中创建的install-time-asset_pack文件夹中的build.gradle

将以代码  plugins { id 'com.android.library' }  改为 

apply plugin: 'com.android.library'

操作三:在相应的脚本中添加代码

1.在install-time-asset_pack文件夹中的build.gradle中添加以下代码

apply plugin: 'com.android.asset-pack'
assetPack{
    packName = "install_time_asset_pack"
    dynamicDelivery{
        deliveryType = "install-time"  //安装时进行PAD资源分发
    }
}

2.确保setting.gradle中Module中引用正常,如果引用不正确会出现资源下载丢失的情况

include ':install-time-asset_pack'

  gradle.properities中是否添加了AndroidX

android.useAndroidX=true
android.enableJetifier=true

 3.在Launcher中的build.gradle中添加一下一下内容

在dependencies中添加依赖项

implementation 'com.google.android.play:core:1.10.0'//PAD资源分发依赖项

​​​​​​​(安卓13以下还可以使用这个,安卓14以上谷歌商店将其拆分了,可以不加了)谷歌商店Core库 

在android下添加assetPacks关键字

assetPacks = [":install-time-asset_pack"]

注意:要添加在Launcher的build.gradle,否在会出现一下报错

> Could not find method implementation() for arguments [com.google.android.play:core:1.10.0] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

注意:如果项目中加入第三方SDK应将UnityLauncher的build.gradle中的implementation 'com.google.android.play:core:1.10.0'PAD资源分发依赖项删除掉

操作四:移动资源Addressables资源文件,按照以下步骤进行操作

1.查看install-time-asset_pack中是否有assets文件如下图,如果没有需要创建

 2.将UnityLauncher中assets文件夹下的Addressables资源移动到install-time-asset_pack的assets文件夹下,注意移动时要和原来文件夹的结构相同如下图,结构为assets/aa/Android(这里是移动过去,不要复制一份过去,要确保只有一个)

​​​​​​​

接下来Build AAB包即可

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值