美文网首页
Unity 导出安卓 obb 包以及使用(基础APK+OBB)

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

作者: 北京朝阳区精神病院院长 | 来源:发表于2020-06-25 23:58 被阅读0次

    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

    Unity-OBB..png

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

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

    GradleBuild.png

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


    androidProject.png

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

    obb.png

      \color{red}{敲重点}:obb可以理解为就是一份游戏资源,图片obb.png红线所标注一定要和AndroidManifest.xml中的:
    <meta-data android:name="unity.build-id" android:value="49abe192-850d-4f39-8461-a9c11795c7b3" />value值对应上,不然会导致obb无法自动合并。

    3.OBB文件格式

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

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

    gradle.png

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

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

    结语

      第一次写blog,如果那里写的有问题不吝指教,写blog的目的很明确:记录下自己的学习和工作经验,分享给有需要的人。

    相关文章

      网友评论

          本文标题:Unity 导出安卓 obb 包以及使用(基础APK+OBB)

          本文链接:https://www.haomeiwen.com/subject/kturfktx.html