前言
谷歌商店要求應(yīng)用需要在100M內(nèi),但是常規(guī)的游戲很多都會(huì)超過(guò)100M,所以谷歌提供了apk+obb的數(shù)據(jù)拆分方式。我們需要做的是在打包時(shí),把數(shù)據(jù)部分提取成obb,游戲在運(yùn)行時(shí)沒(méi)有obb數(shù)據(jù)不會(huì)報(bào)錯(cuò),但是會(huì)卡在某個(gè)流程。unity的apk出包方式有兩種:
1.直接unity引擎里導(dǎo)出apk
2.unity導(dǎo)出android工程后,再由android工程來(lái)出最后的游戲包(這種方式很多時(shí)候是用在我們需要接入sdk時(shí)做的。也可能是需要做一些與android的混合開(kāi)發(fā)。但是結(jié)果導(dǎo)向是一樣的,最終于出我們需要的google分割包。)
我們先要切換平臺(tái)到android平臺(tái)。Build System這里有兩種方式,我們要上線谷歌,所以這里我們選擇Gradle方式。另外一個(gè)方式可以做為自己的官方包的打包方式。參考下圖:

然后我們來(lái)看下Play Settings。打包前我們需要配置一些參數(shù)。
我們需要一個(gè)keystore。這個(gè)如何申請(qǐng)呢?我也簡(jiǎn)單的介紹一下。參考下面截圖:

1.選擇創(chuàng)建keystore
2.選擇保存的路徑與文件名
3.keystore文件密碼
4.Key:點(diǎn)擊Unsigned(debug)之后會(huì)有一個(gè)下拉列表選擇Create a new Key。并彈出一個(gè)二級(jí)彈框設(shè)置。
設(shè)置Alias別名和密碼,可參考下圖:(一般建議與keystore文件密碼一致,便于記憶,也可獨(dú)立不同密碼)

方便的是分包的方式Unity已經(jīng)幫我們做了,我們只需要在導(dǎo)工程時(shí)做屬性勾選。接下來(lái)我們來(lái)看下怎么操作。
Unity直接導(dǎo)出Apk安裝文件
這里我們先來(lái)說(shuō)說(shuō)這種方式,這種方式比較簡(jiǎn)單,我就簡(jiǎn)單的說(shuō)一下。
勾選Split Application Binary,出包時(shí)Unity會(huì)自動(dòng)幫我們把a(bǔ)pk做分割。會(huì)得到兩個(gè)文件:.apk+.obb

然后直接build出來(lái)就可以了。
Unity導(dǎo)Android工程
先在Unity上導(dǎo)出Android工程

導(dǎo)出成功后我們會(huì)在Android工程目錄下得到一個(gè)obb后綴的文件。如下圖:

在Android工程里生成apk,加上上面的obb,就已經(jīng)是我們需要的apk+obb的安裝包了。

后記
如果我們接入sdk,就需要頻繁的修改項(xiàng)目,又要再次走接入流程,那有沒(méi)有辦法可以不用因?yàn)楹?jiǎn)單修改就每次走接入流程,這樣效率太低了。其實(shí)是有的,這里就體現(xiàn)obb的作用了。obb會(huì)與android工程中的AndroidManifest.xml鏈接。我們只要在導(dǎo)出新的obb與之前android工程替換,把鏈接關(guān)系更改就好。替換obb很簡(jiǎn)單,只要進(jìn)入文件替換即可。我們主要講下怎么替換obb的id信息。
1.修改版本號(hào)
如圖把需要的版本修改成要發(fā)布的版本號(hào)。

2.找到新導(dǎo)出的obb的id
怎么獲取obb信息呢?我們可以用壓縮軟件打開(kāi)obb,如下圖就是我們需要的id,復(fù)制這個(gè)id。下面需要用。

3.修改id為最新的obb的id
然后打開(kāi)我們android的AndroidManifest.xml。找到unity.build-id。把新的obb的id替換。

安裝驗(yàn)證包功能
1.單獨(dú)安裝apk到設(shè)備
2.復(fù)制obb文件到設(shè)備/Android/obb/包名/,復(fù)制到此目錄下。運(yùn)行即可測(cè)試。
致此,我們就完成了google的分割包出包方式。