Unity导出Android工程出google商店obb分割包

前言

谷歌商店要求应用需要在100M内,但是常规的游戏很多都会超过100M,所以谷歌提供了apk+obb的数据拆分方式。我们需要做的是在打包时,把数据部分提取成obb,游戏在运行时没有obb数据不会报错,但是会卡在某个流程。unity的apk出包方式有两种:
1.直接unity引擎里导出apk
2.unity导出android工程后,再由android工程来出最后的游戏包(这种方式很多时候是用在我们需要接入sdk时做的。也可能是需要做一些与android的混合开发。但是结果导向是一样的,最终于出我们需要的google分割包。)

我们先要切换平台到android平台。Build System这里有两种方式,我们要上线谷歌,所以这里我们选择Gradle方式。另外一个方式可以做为自己的官方包的打包方式。参考下图:


选择平台与选择Build System

然后我们来看下Play Settings。打包前我们需要配置一些参数。
我们需要一个keystore。这个如何申请呢?我也简单的介绍一下。参考下面截图:


生成keystore

1.选择创建keystore
2.选择保存的路径与文件名

3.keystore文件密码
4.Key:点击Unsigned(debug)之后会有一个下拉列表选择Create a new Key。并弹出一个二级弹框设置。
设置Alias别名和密码,可参考下图:(一般建议与keystore文件密码一致,便于记忆,也可独立不同密码)


创建Alias

方便的是分包的方式Unity已经帮我们做了,我们只需要在导工程时做属性勾选。接下来我们来看下怎么操作。

Unity直接导出Apk安装文件

这里我们先来说说这种方式,这种方式比较简单,我就简单的说一下。
勾选Split Application Binary,出包时Unity会自动帮我们把apk做分割。会得到两个文件:.apk+.obb

Split Application Binary

然后直接build出来就可以了。

Unity导Android工程

先在Unity上导出Android工程


导出Android工程

导出成功后我们会在Android工程目录下得到一个obb后缀的文件。如下图:


obb文件

在Android工程里生成apk,加上上面的obb,就已经是我们需要的apk+obb的安装包了。


Android工程里生成apk

后记

如果我们接入sdk,就需要频繁的修改项目,又要再次走接入流程,那有没有办法可以不用因为简单修改就每次走接入流程,这样效率太低了。其实是有的,这里就体现obb的作用了。obb会与android工程中的AndroidManifest.xml链接。我们只要在导出新的obb与之前android工程替换,把链接关系更改就好。替换obb很简单,只要进入文件替换即可。我们主要讲下怎么替换obb的id信息。

1.修改版本号

如图把需要的版本修改成要发布的版本号。


修改版本号

2.找到新导出的obb的id

怎么获取obb信息呢?我们可以用压缩软件打开obb,如下图就是我们需要的id,复制这个id。下面需要用。


obb id

3.修改id为最新的obb的id

然后打开我们android的AndroidManifest.xml。找到unity.build-id。把新的obb的id替换。


找到相关id并替换

安装验证包功能

1.单独安装apk到设备
2.复制obb文件到设备/Android/obb/包名/,复制到此目录下。运行即可测试。
致此,我们就完成了google的分割包出包方式。

你可能感兴趣的:(Unity导出Android工程出google商店obb分割包)