打包器使用说明
demo资源
以Hermes项目99_flexi_engine_publish\ 目录下资源打包作为demo(以下简称demo)。
项目打包需要包含两部分资源:引擎和项目。
打包器要求资源统一在一个目录下。
所以打包的时候需要将引擎目录和项目目录部署在同一个目录下。
demo的资源目录示例:框中目录即为demo打包所需资源。

打包器组成
打包器3个目录
99_flexi_engine_publish\engine\client\windows\tools\packager\
doc
包含打包器相关的文档和示例文件。
ui_pak
包含打包器的启动文件、脚本和配置等。
windows
包含打包器的应用程序等。
在使用打包器时,我们主要关注打包器的配置即可。
打包配置
打包器的配置文件在如下目录:
ui_pak\res\ini
目录中包含4个文件
需要关注的配置文件是packer_patch.ini和packer_version.ini
packer_patch.ini
记录资源路径相关的信息。
包含2个参数:TargetRoot和SourceRoot
TargetRoot:记录生成的资源包的绝对路径。
SourceRoot:记录项目源资源绝对路径。
这些信息通过打包器的界面完成设置。所以这个文件一般不需要手动配置。
packer_version.ini
配置项目资源的分包部署。此配置文件需要手动配置。
打包器在doc目录中提供了一份demo的配置文件packer_version_demo.ini。
demo配置为Hermes项目99_flexi_engine_publish\ 目录下资源打包的配置。可以参考此配置,对配置项做适当修改。然后改名为packer_version.ini,替换掉打包器中对应的配置文件。
packer_version.ini配置参数
此ini文件的每一个section作为一个打包项,[main]配置是保留配置,不作为打包项,但在此中设置的配置对其他section的配置产生影响。
Type:类型,支持Copy和Package两种配置。
Copy:复制文件/文件夹。
Package:将文件数据写入数据包。
Source:相对于packer_patch.ini中参数SourceRoot配置的目录的子目录。
Target:如果Type=Copy,那么这个值就是相对于packer_patch.ini中参数TargetRoot配置的目录的子目录;如果Type=Package,那么这个值就是文件在数据包(.package文件)的相对路径。一般情况下,Target和Source设置相同的值即可。
Source和Target设置的路径须以’\’结尾。
Exclude:排除特定后缀名的文件,使其不参与打包发布。
ExcludeFile:排除特定名称的文件,使其不参与打包发布。
IncludeSubDir:是否允许Source参数设置目录下的子目录参与打包发布。
true:允许;false:拒绝
ExcludePathDir:排除Source参数设置目录下的特定子目录,使其不参与打包发布。
IncludePathFile:包含Source参数设置目录下的特定文件,使其参与打包发布。
打包器的界面
启动ui_pak目录下的ui_pak.bat,启动打包器程序。打包器界面如图所示:

左侧第一个按钮“生成版本安装包”,用于完成项目整包的制作。点击此按钮,会弹出制作整包的配置界面。
制作整包的配置界面

如图,只需要关心“打包源文件目录”和“打包目标根目录”即可。
设置打包源文件目录
通过右侧的“选择”按钮,设置打包源文件目录。以demo为例,选择的即为包含引擎和项目资源2个目录的所在目录99_flexi_engine_publish\。
设置打包目标根目录
选择右侧的“选择”按钮,设置一个已存在的空目录即可。请确保此目录所在磁盘具有足够空间来存放打包后的项目包。
设置完成后的整包配置界面
完成以上2步操作后,界面会变成如下样式。

点击“保存设置”按钮,即可将2个根目录的信息记录到配置文件packer_patch.ini。
也可以直接点击按钮“生成版本”,在写入配置之后开始打包。
打包过程
点击上图中的“生成版本”按钮后,即开始打包。正常情况下,打包器界面会输出形如信息:
打包成功后,则会输出形如信息:
打包生成
在打包目标根目录会产生4个目录,完整的项目包在Install目录下
Install目录
以demo为例,共产生3个子文件夹:
engine:引擎目录
hermes: Hermes项目目录
packages:产生的数据包(.package)目录

另有一个文件packages.ini,需要将此文件复制/剪切到图中engine子目录engine\client\windows\release_md_vs2019x64
此文件记录了本次打包产生的数据包文件(.package)信息,供引擎在包模式下加载包资源。
重新打包
如果需要打新的项目包,需要清空“打包目标根目录”,或者创建新的空目录。
启动项目
基于demo的打包配置,打包器生成的项目的资产目录结构和原始资产目录结构保持一致。新增的packages目录是存放数据包的目录。
doc目录中,有一个bat模板文件game_framework_package_demo.bat,用于在包模式下启动项目。根据项目的实际情况,将此文件部署到适当位置,然后修改其中配置。
修改项包含2项:
引擎fx_main.exe的相对路径;
参数OPEN_PROJECT中设置的项目projectinfo文件,此配置项中的相对路径基于引擎fx_main.exe而定。
demo中,将此文件部署在了hermes\02_config目录下,保持与散资源模式一致。

分发
Install目录下所有资源即为打包完成后的完整项目包,可用于分发。