Unity 導(dǎo)出安卓 obb 包以及使用(基礎(chǔ)APK+OBB)

obb簡介

??OBB(Opaque Binary Blob)文件格式,是安卓游戲通用數(shù)據(jù)包。在一些大型游戲上較為常見,同時還附以Data文件,亦或是md5.dat文件出現(xiàn)。通常在游戲開始前,程序會自動將obb解包至/sdcard/Android/data或者是/android/obb目錄下,但也有游戲不會解包,直接讀取。

前言

??游戲要上架谷歌商店 除了要接好谷歌SDK外,谷歌還要求提交商店的apk必須在100M以下,對于游戲來說幾乎都會大于100M,所以提交商店apk拆分成基礎(chǔ)apk(小于100M)+obb文件,兩個文件一起上傳GooglPlay,用戶下載的時候會連同apk+obb一起下載到用戶手機(jī)上,當(dāng)然對于用戶來說,完全感受不到區(qū)別的。

1.Unity導(dǎo)出OBB文件步驟如下

打開Unity工程 File --- Build Settings ---Android --- Player Settings --- Publishing Settings --- Split Application Binary

Unity-OBB..png

??選擇Build System : Gradle 來構(gòu)建AS工程和OBB文件

2.Unity構(gòu)建OBB工程和AS資源

GradleBuild.png

??如圖所示GradleBuild.png,構(gòu)建成一份安卓資源和obb文件,將構(gòu)建的src資源放入對應(yīng)AS工程中,obb文件放入手機(jī)指定路徑。


androidProject.png

??如圖所示:androidProject.png,這里面包含了google 相關(guān)的依賴資源和Unity交互代碼,把Unity生成AS工程放入對應(yīng)文件即可(箭頭所示)。運(yùn)行后生成apk即\color{red}{基礎(chǔ)apk},正常情況下生成的基礎(chǔ)apk是可以單獨(dú)運(yùn)行,因缺少obb資源包 游戲會卡在某個階段,但并不會引起程序崩潰。

obb.png

??\color{red}{敲重點(diǎn)}:obb可以理解為就是一份游戲資源,圖片obb.png紅線所標(biāo)注一定要和AndroidManifest.xml中的:
<meta-data android:name="unity.build-id" android:value="49abe192-850d-4f39-8461-a9c11795c7b3" />value值對應(yīng)上,不然會導(dǎo)致obb無法自動合并。

3.OBB文件格式

??obb文件有命名規(guī)范,如果命名規(guī)范不對程序無法讀到對應(yīng)文件導(dǎo)致基礎(chǔ)包無法合并資源 ,從而無法完整運(yùn)行游戲。命名規(guī)則如下

??格式 : main.<Bundle Version Code>.<包名>.obb
??例如 : main.15.com.game.demo.obb

gradle.png

4.測試obb文件是否能正常的跑通游戲

? ?如果我們先運(yùn)行基礎(chǔ)APK /Android/obb/com.game.demo/文件夾會自動創(chuàng)建,如果沒有運(yùn)行我們需要手動創(chuàng)建對應(yīng)文件夾。例如我的測試機(jī)路徑 :
Honor NOTE 8\內(nèi)部存儲\Android\obb\com.game.demo\main.15.com.game.demo.obb

結(jié)語

??第一次寫blog,如果那里寫的有問題不吝指教,寫blog的目的很明確:記錄下自己的學(xué)習(xí)和工作經(jīng)驗(yàn),分享給有需要的人。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容