【Unity3D】Android App Bundle(aab)打包上架Google Play介绍
总体说来,Android App Bundle打包有3种方式,每种方式都有成功上架Google Play进行测试通过,因此实用程度还是挺高的。能够理解以下内容的前提是会打apk包,知道如何生成Asset Bundle文件,这块内容可以参考我的上一篇文章。
一、使用Unity3D自带功能打aab包

图1
此方法最简单,勾选打包选项"Build App Bunlde(Goole Play)"即可。在点击Build的时候就会提示保存xxx.aab文件。【注意】这种方式打出的aab包的大小必须在150M以内,否则无法上架Google,不过这对于小游戏来说应该是足够了。
二、使用Google提供的插件(新增)
下载地址:https://github.com/google/play-unity-plugins/releases
在今年6月份开始研究打aab包的时候,Google还没有提供这种方式,对于需要从APK+OBB模式转成AAB+Asset Pack模式还是一件比较麻烦的事情(参考方法三),也许是Google良心发现,所以才提供了一个折中的方案。
打包步骤:
1. 下载插件com.google.android.appbundle,导入Unity3D。
2. 通过菜单Google->Android App Bundle->Asset Delivery Settings... 打开配置界面(如下图2展示)。
3. 勾选Separate Base APK Asset(如下图3展示)。
4. 然后通过菜单Google->Build Android App Bundle...即可打出aab包。

图2

图3
图3的英文也介绍的比较详细,无需额外对资源加载等做处理,【注意】只需要将打好的Asset Bundle文件拷贝的StreamingAssets目录即可。这也是正常打APK包需要的步骤,因此接入项目非常的简单,而且可以正常上架,无需考虑150M包大小的限制。
三、使用Google的分发模式(AAB + Asset Pack)
这是Google官方之前针对aab包提供的默认方式,而且通过官方的介绍文档可以知道这种方式提供了CDN,如果完全接入后可以免去自己搭建CDN的环境。
Play Asset Delivery (PAD) 将 app bundle 的优势带到游戏中。它允许超过 150 MB 的游戏替换旧版扩展文件 (OBB),方法是将包含游戏所需的所有资源的单个工件发布到 Play。PAD 提供了灵活的分发模式、自动更新、压缩和增量修补功能,并且可免费使用。使用 PAD,所有资源包均在 Google Play 上托管和提供,因此您无需使用内容分发网络 (CDN) 向玩家提供游戏资源。
打包步骤:
1. 下载插件com.google.play.assetdelivery,并导入Unity(这里可能也需要下载步骤二的插件)。
2. 通过菜单Google->Android App Bundle->Asset Delivery Settings... 打开配置界面(如图2展示)。
3. 【注意】这次不勾选Separate Base APK Asset选项,而是通过下面的Asset Pack Configuration界面进行Asset Bundle配置。
4. 点击Add Folder...按钮选择项目的Asset Bundle文件目录。
a.【注意1】这里不能将Asset Bundle文件放在StreamingAssets目录。
b.【注意2】Asset Bundle文件的总数不得超过50个。
c.【注意3】这里针对Asset Bundle的命名也有要求,类似代码变量名。
【备注】 针对超过50个Asset Bundle的可以使用AssetPack,就是先将Asset Bundle使用Google提供的API方法打成AssetPack(该方法可用,但未测试过)。
5. 针对每个Asset Bundle文件设置其分发模式,最简单就全部设置为Install Time模式(如下图4)。
6. 设置完成后再通过Google->Build Android App Bundle...即可打成aab包,里面的内容可以通过解压软件打开查看(如图5)。

图4

图5
四、总结和另外的注意事项。

图6
上图是某次上架测试过程中的错误提示(需注意API等级)。若参照我上面提供的三种方式且满足Google的上架条件,基本上可以正常上架。另外,如果使用方法三进行aab打包的话,还需要额外针对加载Asset Bundle文件的方法进行修改,不可使用AssetBundle.LoadFromXXX的方法,需要导入 Play Asset Delivery 库,然后调用 RetrieveAssetBundleAsync() 方法加载 AssetBundle(可去官网查看例子)。
大体的内容就介绍到这里,如果还有疑问欢迎一起沟通交流,我也是菜鸟一枚。
文章来自我的公众号,大家如果有兴趣可以关注,具体扫描关注下图。

【Unity3D】Android App Bundle(aab)打包上架Google Play介绍的更多相关文章
- Flutter - You need to use a different version code for your APK or Android App Bundle because you already have one with version code 1.
前两天提交了一个版本Google Play,结果今天收到拒绝的邮件,说App内购有问题. 于是把设置里面的支付宝和微信打赏功能关闭,又打了一个aab. 然后上传到Google Play,结果提示 Yo ...
- 谷歌发布基于机器学习的Android APP安全检测系统:Google Play Protect
Google Play作为众所周知的在线应用市场,因为审查制度的松散,经常会有一些恶意软件伪装成其他应用混入其中.此前阿里聚安全小编就报道了2例关于恶意软件伪装在Google Play上的事件:< ...
- Android APP压力测试(一)之Monkey工具介绍
Android APP压力测试(一) 之Monkey工具介绍 前言 本文主要介绍Monkey工具.Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动. ...
- Unity上线google商店 用IL2Cpp打包64位版本和Android APP Bundle优化 及产生的bug
ios刚上线,这边着手改成android版本,我开始使用的是unity2017.4.1版本 上传谷歌商店是出现这两个警告: 要支持64位,但是在2017版本上没有找到64位的打包选项,猜测应该是版本的 ...
- Android App的签名打包三步骤
1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本 ...
- Android App的签名打包(晋级篇)
http://blog.csdn.net/linghu_java/article/details/6701666 Andriod应用程序如果要在手机或模拟器上安装,必须要有签名! 1.签名的意义 为了 ...
- android app多渠道分发打包
1. 美团多渠道包的方法论 1) maven编译多次 2) apktool一次包,解开重新打 (个人倾向于这个) 3) http://tech.meituan.com/mt-apk-packagi ...
- 安卓新发布机制----app bundle
Android App Bundle是一种改进的应用程序打包方式,能大幅度减少应用体积 unity可以直接导出appbundle,只需要在导出的时候勾选 但是通常项目有sdk离不开java端,我这里是 ...
- Android App安装包瘦身计划
Android App安装包瘦身计划 Android App安装包体积优化: 理由, 指标和可以采用的方法. 本文内容归纳如下图: 为什么要安装包瘦身 安装包需要瘦身吗? 不需要吗? 安装包要瘦身的主 ...
随机推荐
- 98、配置ftp服务器(vsftpd)
98.1.安装vsftpd: 1.安装: [root@m01 ~]# yum install -y vsftpd #安装vsftpd [root@m01 ~]# vsftpd -v #查看ftp的版本 ...
- 24、mysql数据库优化
24.1.如何判断网站慢的排查顺序: 客户端->web->nfs->数据库: 24.2.uptime命令详解: [root@backup ~]#uptime 13:03:23 up ...
- hdu 3397 Sequence operation 线段树 区间更新 区间合并
题意: 5种操作,所有数字都为0或1 0 a b:将[a,b]置0 1 a b:将[a,b]置1 2 a b:[a,b]中的0和1互换 3 a b:查询[a,b]中的1的数量 4 a b:查询[a,b ...
- nginx日志分析及其统计PV、UV、IP
一.nginx日志结构 nginx中access.log 的日志结构: $remote_addr 客户端地址 211.28.65.253 $remote_user 客户端用户名称 -- $time_l ...
- redis集群搭建中遇到的一些问题
redis单机模式启动后,修改完配置文件,使用以下命令创建redis集群: sudo ./src/redis-trib.rb create --replicas 1 ip1:6379 ip2:6379 ...
- Spring:Spring注解大全
@Controller 标识一个该类是Spring MVC controller处理器,用来创建处理http请求的对象. @Controller public class TestController ...
- 在web.xml正确加载spring配置文件的方式
ssm框架整合时一直报出没有创建实例bean的错误,一直以为是代码原因,反复测试了很久,才找到原因是spring配置文件没有正确导入,下图是我的错误示例 web.xml加载spring配置文件的方式主 ...
- 大数据-Hadoop安装
进入到Hadoop安装包路径下 [atguigu@hadoop101 ~]$ cd /opt/software/ 解压安装文件到/opt/module下面 [atguigu@hadoop101 sof ...
- linux 生成密钥
p.p1 { margin: 0; font: 16px "Helvetica Neue" } span.s1 { font: 16px ".PingFang SC&qu ...
- ctf之SusCTF2017-Crack Zip
题目信息如下,可知为杂项题,且无提示 下载文件打开如图,该压缩包是加密的 首先想到的是暴力破解,下载zip暴力破解软件打开文件. 下一步,选择暴力破解 进行暴力破解设定,进行破解 破解完成,得到密解压 ...