您的位置:首页 > 移动开发 > Unity3D

Unity导出安卓obb包以及使用(基础APK+OBB)

2020-07-01 14:56 1091 查看

obb简介

  OBB(Opaque Binary Blob)文件格式,是安卓游戏通用数据包。在一些大型游戏上较为常见,同时还附以Data文件,亦或是md5.dat文件出现。通常在游戏开始前,程序会自动将obb解包至/sdcard/Android/data或者是/android/obb目录下,但也有游戏不会解包,直接读取。

前言

  游戏要上架谷歌商店 除了要接好谷歌SDK外,谷歌还要求提交商店的apk必须在100M以下,对于游戏来说几乎都会大于100M,所以提交商店apk拆分成基础apk(小于100M)+obb文件,两个文件一起上传GooglPlay,用户下载的时候会连同apk+obb一起下载到用户手机上,当然对于用户来说,完全感受不到区别的。

1.Unity导出OBB文件步骤如下

打开Unity工程 File — Build Settings —Android — Player Settings — Publishing Settings — Split Application Binary


选择Build System : Gradle 来构建AS工程和OBB文件

2.Unity构建OBB工程和AS资源


如上图所示,构建成一份安卓资源和obb文件,将构建的src资源放入对应AS工程中,obb文件放入手机指定路径。




如上图所示:这里面包含了google 相关的依赖资源和Unity交互代码,把Unity生成AS工程放入对应文件即可(箭头所示)。运行后生成apk即基础apk\color{red}{基础apk}基础apk,正常情况下生成的基础apk是可以单独运行,因缺少obb资源包 游戏会卡在某个阶段,但并不会引起程序崩溃。




敲重点\color{red}敲重点敲重点:obb可以理解为就是一份游戏资源,上图红箭头所标注一定要和AndroidManifest.xml中的:value值对应上,不然会导致obb无法自动合并。

<meta-data android:name="unity.build-id" android:value="49abe192-850d-4f39-8461-a9c11795c7b3" />

3.OBB文件格式

obb文件有命名规范,如果命名规范不对程序无法读到对应文件导致基础包无法合并资源 ,从而无法完整运行游戏。命名规则如下:

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



4.测试obb文件是否能正常的跑通游戏


   如果我们先运行基础APK /Android/obb/com.game.demo/文件夹会自动创建,如果没有运行我们需要手动创建对应文件夹。例如我的测试机路径 :

Honor NOTE 8\内部存储\Android\obb\com.game.demo\main.15.com.game.demo.obb

结语

  菜鸟一枚,第一次写blog,如果那里写的不好或者不对请多多谅解,写blog的目的很明确:记录下自己的学习和工作经验,分享给有需要的人。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐