打包配置

左边为ab包,中间为ab包中内容,右边为项目中资源文件
点击save,SaveConfiguration,保存打包关系到ResourceCollection.xml中
是否使用文件系统,只能在xml中手动配置,代表下载完后会把几个零散的ab文件合成一个文件

是否随APP发布打包

1、AssetBundle 列表

AssetBundle列表(AssetBundle List)列出了项目中包含的所有 AssetBundle,空 AssetBundle、场景 AssetBundle 和非场景 AssetBundle 分别用三种不同的图标标识。

功能按钮说明:
① 增加新的 AssetBundle,点击后需指定 AssetBundle 的名称(含目录名,使用“/”分隔)和变体名称(可空、根据需要使用)。
② 重命名选中的 AssetBundle。
③ 移除选中的 AssetBundle。
④ 更改 AssetBundle 的加载方式,可选择从文件加载、从内存加载,或者是从内存中解密后加载等。
⑤ 标记此 AssetBundle 是否需要随 App 一起发布,若勾选则打包时会做特殊处理。
packed作用应该是,打包app,可附带部分资源进入app。。随后热更是根据服务器文件列表与app安装后释放到的可读写路径下随包packed,再做差异更新

是否使用文件系统

只能在xml中手动配置,代表下载完后会把几个零散的ab文件合成一个文件

如何避免冗余

/// <summary>/// 资源。/// </summary>public sealed class Resource{public  List<Asset> m_Assets;/// <summary>/// 资源。/// </summary>public sealed class Asset : IComparable<Asset>{private Asset(string guid, Resource resource){Guid = guid;Resource = resource;}

如果一个asset打入a.bundle,会从原来所在的b.bundle移除
bundle:TestNew中塞入asset->{“Guid”:“4a17d2c656f5c6b44a31e3ee547a76b0”
Bundle:DataTables:取消asset->{“Guid”:“4a17d2c656f5c6b44a31e3ee547a76b0”,

打AB包

  1. 可以选择项目中的压缩格式,默认的是GZip
  2. 每次打包资源版本号会自增1
  3. 打包输出路径不能为项目里Assets/StreamingAssets目录,应该在assets目录外打包
    代码中调用ResourceBuilderController.BuildResources

打包出来文件夹说明

Working Path:Unity 生成 AssetBundle 时的工作目录。
Output Package Path:为单机模式生成的文件的所在目录,若游戏是单机游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后构建 App 即可。
Output FullPath:为可更新模式生成的完整文件包的所在目录,若游戏是网络游戏,生成结束后应将此目录上传至资源服务器,供玩家下载用。
Output Packed Path:为可更新模式生成的文件的所在目录,若游戏是网络游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后构建 App 即可。一个 AssetBundle 是否会生成到 Output Packed Path,取决与这个 AssetBundle 是否在 AssetBundle 编辑工具中被标记为 Packed。

Packed与Full文件夹

AB包和非AB包文件,在GF中被统一抽象为 Resource 文件,文件后缀为.dat ,在我们的资源列表中,记录的即是这些 .dat 资源文件的资源信息,信息中包含了这些资源文件的名称,hashcode,长度,zipHashcode,zip长度,是否AB包,加载设置,等等信息。
"生成目录/ Packed " (此目录下存储的是随APP一起发布的资源)
“生成目录/Full” (此目录下存储的是所有资源)

GameFreamworkList.dat 与GameFrameworkVersion.XXXX.dat

GameFreamworkList.dat (Packed中) 和 GameFrameworkVersion.XXXX.dat (Full 中) ,游戏中总的资源信息会记录在 GameFrameworkVersion.XXXX.dat 文件中,此文件是作为客户端资源总表而存在的,游戏的资源文件和资源信息的处理和操作都已此表为准。而 GameFreamworkList.dat 文件是作为客户端目录的当前资源记录表存在,只是记录了当前所在的目录下的资源文件信息。
需要把 Packed 文件夹下的所有文件,拷贝到工程中的 streamingAssets 目录下,再发布APP(ResourceEditor面板中标记Resource 为Pakeaged 后这个 Resource 就会打包到 Packed中)。只读目录下的 GameFreamworkList.dat 只记录了本目录下的所有资源文件的信息,这些信息再以后的资源校验中会被使用。资源总表 GameFrameworkVersion.XXXX.dat 在可更新模式下是可以不随安装包一起发布,因为这个文件后面会被下载到读写目录中。
应用每一次启动,首先需要你先得到当前资源总表的内部版本号(内部版本号在ResourceBuilder面板设置。至于内部版本号的动态获取过程,采用何种方式,则需要自己来实现),然后即可使用这个最新的内部版本号,调用
CheckVersionListResult ResourceComponent.CheckVersionList(int latestInternalResourceVersion)
来判定当前的资源总表是不是最新的,此时 CheckVersionList 方法会访问读写目录,并尝试读取 GameFrameworkVersion.XXXX.dat 文件,如果文件没有或者内部携带的资源内部版本号与你传递进来的不同,则会返回资源需要更新的枚举值,否则则会返回不需要更新。

上传AB包到服务器文件夹

复制文件过去

服务器中创建Version.txt文件

填充内容在打包报告中找

找到这行,把里面内容填充到Version.txt

Version.txt填充为

{"ForceUpdateGame": false,"LatestGameVersion": "0.1.0","InternalGameVersion": 0,"InternalResourceVersion": 2,"UpdatePrefixUri": "http://10.12.24.82:10089/Windows","VersionListLength": 7138,"VersionListHashCode": -1969978894,"VersionListCompressedLength": 2653,"VersionListCompressedHashCode": 861209557
}

出现负数不影响使用,为crc32码转为int出现的负数

Unity使用真实ab与更新模式


远程地址修改

改为服务器地址,格式如下
{
“GameVersion”: “0.1.0”,
“InternalGameVersion”: 0,
“CheckVersionUrl”: “http://10.12.24.82:10089/{0}/Version.txt”,
“WindowsAppUrl”: “https://starforce.gameframework.cn”,
“MacOSAppUrl”: “https://starforce.gameframework.cn”,
“IOSAppUrl”: “https://starforce.gameframework.cn”,
“AndroidAppUrl”: “https://starforce.gameframework.cn”,
“END_OF_JSON”: “”
}

运行下载

下载完的文件夹可以通过这个打开

GameFramework:打包资源,打随app发布包,打包生成文件夹说明,上传资源至服务器,下载资源,GameFreamworkList.dat 与GameFrameworkVersion.dat相关推荐

  1. QT实现CSDN上传资源管理助手Demo之(3)请求上传资源页面并解析

    欢迎关注公众号可以查看更多完整文章 QT实现CSDN上传资源管理助手Demo之(3)请求上传资源页面并解析 请求自己上传的资源页面,只需要请求http://download.csdn.net/my/u ...

  2. xcode5打包不生成ipa文件而生成文件夹 及 app文件转成ipa

    xcode5打包不生成ipa文件而生成文件夹 小菜我在用xcode5打包ipa时,遇到如下情况 在oganizer 里的distribute 里没有 share选项 由于没有share选项,小菜着实捉 ...

  3. 纪念一下| 上传资源的创作者等级升级到Lv3

    写在开头:终于凑够上传的资源量成功升级到Lv3 !!! 要想升级到Lv4,原力值需要达到Lv5,还不知道何年何月去了.唯一的好消息是"综合贡献"这个指标我又不知咋地达成了!!! 未 ...

  4. Unity Editor 编辑器扩展一 编辑器特殊文件夹及内置资源读取

    目录 目录 编辑器特殊文件夹及内置资源读取 编辑器相关文件夹 读取内置资源包 代码 Test1_1cs 代码Editor1_1cs 这个要放到Editor文件夹内 编辑器特殊文件夹及内置资源读取 使用 ...

  5. android 13:You uploaded an APK or Android App Bundle which has an activity Google后台上传新APP传不上去

    android 13:You uploaded an APK or Android App Bundle which has an activity Google后台上传新APP传不上去 设备/引擎: ...

  6. Eclipse和Tomcat绑定并且将上传资源到Tomcat上

    步骤如下: 创建一个Dynamic Web Project(图一) Target runtime 选择Apache Tomcat v7.0版本(图二) 切记要选择 v7.0 和2.5 (若没有图二选项 ...

  7. 怎样清除手机中的html文件夹,怎么彻底清除手机APP卸载后的残留文件夹 能删与不能删文件名...

    ­ 手机里的文件和手机下载了app之后,即使卸载,也很容易有垃圾残留,而且占用的空间还挺多,但是根本不知道哪些是垃圾,要怎么清除这些垃圾? ­ 一般清理垃圾软件,如360,腾讯管家等可以清除手机缓存, ...

  8. CSDN上传资源时一直提示 请填写资源tag

    CSDN上传资源时一直提示 请填写资源tag 填写完后按一下回车键 ENTER即可

  9. 一步教会你如何上传资源到云服务器

    我使用的是Ucloud,没有账号请先去注册 下面是封装好的方法 @Data public class FileDtos {private Integer success;private String ...

  10. 获取自己所上传资源的下载量

    import requestsurl = 'https://download-console-api.csdn.net/v1/user/sources/getUploadListByUserName? ...

最新文章

  1. ttc转换ttf字体在线_R 语言画图中英文字体解决方案
  2. Android开发工具新接触
  3. 第六章 深度学习(中下)
  4. 理清Python网络编程
  5. SQLSever 存储过程创建
  6. 新内容、新交互、新增长:视频云为短视频及电商直播行业高效赋能
  7. 指令打印与驱动打印随笔
  8. MySQL 报错 1093
  9. 数据挖掘引入:基础知识
  10. GCC为什么不将a * a * a * a * a * a优化为(a * a * a)*(a * a * a)?
  11. 一款免费的网络时间校准小程序
  12. 免费下载百度文库文档、免注册、免登录、免财富值 - 帮手网-云下载
  13. chrome插件开发引入图片静态资源
  14. cpu load是什么?
  15. 如何成就一个小而美的存储科技公司?
  16. 移动端框架 - Bootstrap
  17. HTML 标签简写及全称以及HTML总结
  18. 基于SDN的DDoS攻击检测与防御
  19. easyswoole(1)
  20. 7-1 程序改错题2 (6分)

热门文章

  1. 1734: 炮兵阵地
  2. 关于ensp路由器一直###的问题
  3. 使用Gmail邮箱攻略
  4. FPGA学习笔记(2020.04.24)业精于勤荒于嬉,成于思毁于随
  5. ARM V8 base instruction -- WFI
  6. ‘XXX‘ is missing the class attribute ‘ExtensionOfNativeClass‘!
  7. L1-6 福到了 (模拟)
  8. sparql rdf_使用SPARQL查询RDF数据
  9. 工作表格excel用python_Python自动化处理Excel报表,工作更轻松
  10. 华为手机应用签名异常