CN113885935A - 资源打包方法、装置、电子设备及计算机可读存储介质 - Google Patents
资源打包方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113885935A CN113885935A CN202111154927.7A CN202111154927A CN113885935A CN 113885935 A CN113885935 A CN 113885935A CN 202111154927 A CN202111154927 A CN 202111154927A CN 113885935 A CN113885935 A CN 113885935A
- Authority
- CN
- China
- Prior art keywords
- resource
- target
- packaging
- configuration information
- packaging configuration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种资源打包方法、装置、电子设备及计算机可读存储介质,涉及计算机技术领域。该方法包括:根据用户在资源打包配置界面中针对目标应用的发布平台的选择操作和针对资源打包配置选项的设置操作,确定目标打包配置信息,然后基于目标打包配置信息,确定出待打包的目标资源文件,可以根据目标打包配置信息和待打包的目标资源文件生成目标资源包。通过资源打包配置界面向用户提供多个资源打包配置选项进行选择,其中,资源打包配置选项包括目标发布平台所对应的配置选项,实现同一套目标应用的代码通过用户在资源打包配置界面上简单地设置后,就能打包出可以运行于不同发布平台的资源包,提高了资源打包的效率。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种资源打包方法、装置、电子设备及计算机可读存储介质。
背景技术
当应用产品需要在多个平台进行发布前,需要对应用产品的相关资源文件进行打包,以确保应用产品可以成功在不同平台运行。
目前,针对不同平台的不同资源打包要求,会打包应用程序产品相关的全部资源文件,以便应用程序产品能够在对应的平台成功运行。随着计算机拥有越来越强大的计算能力,应用程序产品在开发过程中涉及越来越多的资源文件,打包应用程序产品所有相关联的资源文件所需的时间变长,当前应用资源管理方案和打包流程难以在同一套应用程序代码的基础上,通过简单的配置后打包获得针对不同平台的资源包,应用程序产品的打包效率较低。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特别是针对不同发布平台,目标应用的资源打包效率较低的技术缺陷。
第一方面,本申请实施例提供了一种资源打包方法,该方法包括:
通过资源打包配置界面,接收用户针对目标应用的发布平台的选择操作和针对目标应用的资源打包配置选项的设置操作;
基于选择操作确定目标应用的目标发布平台,资源打包配置选项包括目标发布平台对应的选项;
基于设置操作确定目标应用的第一打包配置信息;
基于目标发布平台确定目标应用的第二打包配置信息;
基于包括第一打包配置信息和第二打包配置信息的目标打包配置信息,确定待打包的目标资源文件;
基于待打包的目标资源文件和目标打包配置信息生成目标资源包。
在第一方面的可选实施例中,基于设置操作确定目标应用的第一打包配置信息,包括:
基于用户针对目标应用的资源打包配置选项的设置操作,确定初始打包配置信息;
校验初始打包配置信息;
若初始打包配置信息不存在配置异常信息,则将初始打包配置信息确定为第一打包配置信息;
若初始打包配置信息存在配置异常信息,则向用户展示修改提示信息,获取用户针对资源打包配置选项的修改操作,得到修改后的打包配置信息;并将修改后的打包配置信息作为第一打包配置信息。
在第一方面的可选实施例中,初始打包配置信息存在配置异常信息包括以下至少一项:
初始打包配置信息中缺少必选配置信息;
初始打包配置信息中的存在不符合预设设置规则的打包配置信息;
初始打包配置信息中存在相互矛盾的打包配置信息。
在第一方面的可选实施例中,针对目标应用的资源打包配置选项的设置操作包括应用场景选择操作,目标打包配置信息包括应用场景选择操作对应的目标场景,
基于目标打包配置信息,确定待打包的目标资源文件,包括:
基于目标场景,确定与目标场景具有依赖关系的资源文件,待打包的目标资源文件包括确定出的与目标场景具有依赖关系的资源文件。
在第一方面的可选实施例中,确定与目标场景具有依赖关系的资源文件,包括:
确定与目标场景存在直接依赖关系的第一资源文件;将每个第一资源文件分别作为初始的第二资源文件,并重复执行以下操作,直至不存在与第二资源文件存在直接依赖关系的资源文件为止;
确定与第二资源文件存在直接依赖关系的第三资源文件,并将每个第三资源文件作为新的第二资源文件;
其中,与目标场景具有依赖关系的资源文件包括第一资源文件、第二资源文件和第三资源文件。
在第一方面的可选实施例中,目标打包配置信息包括资源打包方式;基于待打包的目标资源文件和目标打包配置信息生成目标资源包,包括:
基于目标打包配置信息从预设的配置模板库中选择出目标配置模板;
基于目标打包配置信息和目标配置模板生成目标配置文件;
基于资源打包方式配置信息,采用对应的资源打包方式对目标配置文件和待打包的目标资源文件进行打包生成目标资源包。
在第一方面的可选实施例中,目标打包配置信息包括资源打包方式和目标发布平台对应的资源文件目录结构;基于待打包的目标资源文件和目标打包配置信息生成目标资源包,包括:
基于目标打包配置信息生成目标配置文件,目标配置文件包括目标发布平台对应的平台配置文件;
根据目标打包配置信息中的资源打包方式,采用资源打包方式对目标配置文件和待打包的目标资源文件进行打包生成相应的资源包;
基于目标打包配置信息中的目标发布平台对应的资源文件目录结构,对资源包的文件目录进行调整,得到目标资源包。
第二方面,本申请实施例提供了一种资源打包装置,该装置包括:
设置操作接收模块,用于通过资源打包配置界面,接收用户针对目标应用的发布平台选择操作和针对目标应用的资源打包配置选项的设置操作;
配置信息确定模块,用于基于选择操作,确定目标应用的目标发布平台;资源打包配置选项包括目标发布平台对应的选项;基于设置操作确定目标应用的第一打包配置信息;基于目标发布平台确定目标应用的第二打包配置信息;
资源确定模块,用于基于包括第一打包配置信息和第二打包配置信息的目标打包配置信息,确定待打包的目标资源文件;
资源打包模块,用于基于待打包的目标资源文件以及目标打包配置信息生成目标资源包。
在第二方面的可选实施例中,配置信息确定模块在基于设置操作确定目标应用的第一打包配置信息时,具体用于:
基于用户针对目标应用的资源打包配置选项的设置操作,确定初始打包配置信息;
校验初始打包配置信息;
若初始打包配置信息不存在配置异常信息,则将初始打包配置信息确定为第一打包配置信息;
若初始打包配置信息存在配置异常信息,则向用户展示修改提示信息,获取用户针对资源打包配置选项的修改操作,得到修改后的打包配置信息;并将修改后的打包配置信息作为第一打包配置信息。
在第二方面的可选实施例中,初始打包配置信息存在配置异常信息包括以下至少一项:
初始打包配置信息中缺少必选配置信息;
初始打包配置信息中的存在不符合预设设置规则的打包配置信息;
初始打包配置信息中存在相互矛盾的打包配置信息。
在第二方面的可选实施例中,针对目标应用的资源打包配置选项的设置操作包括应用场景选择操作,目标打包配置信息包括应用场景选择操作对应的目标场景,资源确定模块在基于目标打包配置信息,确定待打包的目标资源文件时,具体用于:
基于目标场景,确定与目标场景具有依赖关系的资源文件,待打包的目标资源文件包括确定出的与目标场景具有依赖关系的资源文件。
在第二方面的可选实施例中,资源确定模块在确定与目标场景具有依赖关系的资源文件时,具体用于:
确定与目标场景存在直接依赖关系的第一资源文件;将每个第一资源文件分别作为初始的第二资源文件,并重复执行以下操作,直至不存在与第二资源文件存在直接依赖关系的资源文件为止;
确定与第二资源文件存在直接依赖关系的第三资源文件,并将每个第三资源文件作为新的第二资源文件;
其中,与目标场景具有依赖关系的资源文件包括第一资源文件、第二资源文件和第三资源文件。
在第二方面的可选实施例中,目标打包配置信息包括资源打包方式;资源打包模块在基于待打包的目标资源文件和目标打包配置信息生成目标资源包时,具体用于:
基于目标打包配置信息从预设的配置模板库中选择出目标配置模板;
基于目标打包配置信息和目标配置模板生成目标配置文件;
基于资源打包方式配置信息,采用对应的资源打包方式对目标配置文件和待打包的目标资源文件进行打包生成目标资源包。
在第二方面的可选实施例中,目标打包配置信息包括资源打包方式和目标发布平台对应的资源文件目录结构;资源打包模块在基于待打包的目标资源文件和目标打包配置信息生成目标资源包时,具体用于:
基于目标打包配置信息生成目标配置文件,目标配置文件包括目标发布平台对应的平台配置文件;
根据目标打包配置信息中的资源打包方式,采用资源打包方式对目标配置文件和待打包的目标资源文件进行打包生成相应的资源包;
基于目标打包配置信息中的目标发布平台对应的资源文件目录结构,对资源包的文件目录进行调整,得到目标资源包。
第三方面,提供了一种电子设备,该电子设备包括:
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一实施例的资源打包方法。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述任一实施例的资源打包方法。
第五方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行时实现第一方面实施例或第二方面实施例中所提供的方法。
上述的资源打包方法,通过资源打包配置界面,接收用户针对目标应用的发布平台的选择操作和针对资源打包配置选项的设置操作,再分别基于设置操作确定目标应用的第一打包配置信息,基于选择操作确定目标发布平台,再进一步基于目标发布平台确定第二打包配置信息,得到包括第一打包配置信息和第二打包配置信息的目标打包配置信息。可以根据目标打包配置信息,确定出待打包的目标资源文件,然后根据目标打包配置信息和待打包的目标资源文件生成目标资源包。本申请通过资源打包配置界面向用户提供多个资源打包配置选项进行选择,其中,资源打包配置选项包括目标发布平台所对应的配置选项,实现同一套目标应用的代码通过用户在资源打包配置界面上简单地设置后,就能打包出可以运行于不同发布平台的资源包,提高了资源打包的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种资源打包方法的流程示意图;
图2为本申请实施例提供的一种资源打包方法中资源打包配置界面的示意图;
图3为本申请实施例提供的一种资源打包方法中确定目标资源文件的示意图;
图4为本申请实施例提供的一种资源打包方法中的流程示意图;
图5为本申请实施例提供的一种资源打包装置的结构示意图;
图6为本申请实施例提供的一种资源打包的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
目前,当游戏开发者需要在不同平台发布游戏项目时,需要制作编写多套游戏代码、以及设置多套对应的游戏资源,使游戏项目能较好地运行在相应的平台。
当前技术方案中的应用资源管理方案和打包流程难以实现在同一套应用程序代码的基础上,通过简单的配置后打包获得针对不同平台的资源包,应用程序产品的打包效率较低。
并且,通过目前市面已有的游戏引擎打包出来的资源包体积都比较大,难以运行在国内流行的各个小游戏平台上。
本申请提供的资源打包方法、装置、电子设备及计算机可读存储介质,旨在解决现有技术的如上技术问题中的至少一个。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例中提供的资源打包方法,该方法可以应用于服务器,也可以应用于终端。
本技术领域技术人员可以理解,这里所使用的“终端”可以是个人计算机、手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、MID(Mobile InternetDevice,移动互联网设备)等;“服务器”可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本申请实施例中提供了一种资源打包的方法,以应用于终端为例,如图1所示,该方法包括:
步骤S101,通过资源打包配置界面,接收用户针对目标应用的发布平台选择操作和针对目标应用的资源打包配置选项的设置操作。
在本申请实施例中,资源打包方法可以用于打包需要在不同平台进行发布的游戏应用,即目标应用可以是待打包的游戏项目,也可以是任何需要在平台上进行发布的应用程序,本申请不作限制。
本申请中的资源打包方法可以实现为一个游戏开发应用程序(可以是一个独立的应用程序,也可以是一个插件/组件或是其他应用程序的一个功能模块),该游戏开发应用程序可以向用户提供资源打包配置界面,用户可以通过在资源打包配置界面中对各项可选参数进行设置,根据自身需求对目标应用的相关资源文件进行打包。
具体的,用户可以在资源打包配置界面中选择目标应用的发布平台,以及对资源打包配置界面中显示的多个资源打包配置选项进行设置,这两类操作之间并不限制先后顺序。用户既可以先选择发布平台,再设置资源打包配置选项,也可以先设置资源打包配置选项,再选择发布平台,又或者可以先设置一部分资源打包配置选项,再选发布平台,然后继续完成对剩余资源打包配置选项的设置。
在本申请实施例中,用户针对目标应用的发布平台选择操作可以包括点击包括但不限于点击按钮、勾选选项、输入文本框和从下拉列表中选择目标选项等操作,能确定出用户所选择的目标发布平台即可。
同样,用户针对资源打包配置选项的设置操作也可以包括但不限于点击按钮、勾选选项、输入文本框和从下拉列表中选择目标选项。
资源打包配置界面可以包括多个打包配置选项,每个打包配置选项对应于不同的配置功能。例如,打包配置选项至少可以包括:场景选项,用于选择待打包的资源文件对应的场景,在目标应用为游戏应用时,场景可以是指游戏应用中的环境因素的抽象集合;压缩选项,用于选择文件压缩方式;图集选项,用于是否使用自动图集功能;路径选项,用于指定项目的发布路径等。
在一些实施例中,用户针对目标应用的资源打包配置选项的设置操作可以包括用户对发布平台的选择操作。例如,资源打包配置选项中可以包括发布平台选项,用于选择该游戏项目将要发布的平台。用户可以通过选择发布平台选项,完成对发布平台的选择。
进一步的,部分资源打包配置选项内可能包含配置子选项,例如,从发布平台选项中选择了游戏项目具体要发布的原生平台后,可以显示对应于所选择的原生平台的展开选项,展开选项可以用于用户针对任一原生平台进行更细致的配置。不同的原生平台可能存在不同的展开选项。
除了资源打包配置设置界面中预设的资源打包配置选项可供用户选择以外,用户还可以通过插件将自定义的打包配置选项添加进资源打包配置设置界面中。
可以理解的是,在资源打包配置选项中,一部分选项可以是给用户提供了多个候选选项,用户在候选选项中选择目标选项,根据目标选项的内容确定相应的资源打包方案,而另一部分选项可以是需要用户填写的文本框,用户通过输入文本来设置这些选项。
此外,资源打包配置选项还可以分为必选选项和非必选选项,非必选选项用户可以进行设置,也可以不进行设置,如果不进行设置则采用默认配置信息。
在一个示例中,资源打包配置界面如图2所示:
用户可以在发布平台选项中选择安卓,确定安卓为目标发布平台;
发布路径选项可以包括两个输入框,第一个输入框用于指定目标应用的发布路径,可直接输入路径或者通过旁边的放大镜按钮选择路径;第二个输入框用于指定目标应用打包时的打包任务名称以及打包后生成的资源包名称,打包完成后可直接点击输入框后面的文件夹图标打开目标应用资源包所在目录;
初始场景选项用于设置进入游戏后加载的第一个场景,可以从场景列表中选择目标场景,目标场景可以包括多个子场景,可以选择全选,也可以选择部分子场景;
MD5(Message-Digest Algorithm,消息摘要算法)缓存选项,为打包后的所有资源文件名加上MD5信息,可以解决浏览器资源缓存问题;
主包压缩类型选项,可以用于设置主包的压缩类型,例如,合并依赖,将相互依赖的资源的JSON文件合并在一起,从而减少运行时的加载请求次数;
压缩纹理选项,若目标应用中的图片资源设置了压缩纹理,并勾选了该项,那么资源打包时便会根据压缩纹理设置生成对应的图像资源;如果不勾选该项,即便配置了压缩纹理也不会在资源打包时生效;
自动图集选项,若勾选了该选项,可以根据预设的图集配置进行合图处理,生成图集到目标应用中。
步骤S102,基于选择操作确定目标应用的目标发布平台,资源打包配置选项包括目标发布平台对应的选项;基于设置操作确定目标应用的第一打包配置信息;基于目标发布平台确定目标应用的第二打包配置信息。
在本申请实施例中,可以基于选择操作确定目标应用的目标发布平台,在用户选择出目标发布平台之后,可以在资源打包配置选项中进一步给用户提供目标发布平台对应的选项,以供用户进行选择或配置。例如,当用户选择A平台作为目标发布平台之后,可以在资源打包配置选项中进一步显示A平台对应的、可配置的选项,如A平台支持的多个资源压缩方式对应的选项以及A平台所指定的多种脚本编译方式对应的选项等。
可以基于用户针对目标应用的资源打包配置选项的设置操作,确定目标应用的第一打包配置信息;可以基于目标发布平台确定目标应用的第二打包配置信息。
其中,第一打包配置信息可以是所有基于用户对资源打包配置选项的设置操作所得到的打包配置信息,其中也包括基于资源打包配置选项中非必选选项得到的默认配置信息。如目标应用的资源包的名称、目标应用的发布路径、在目标应用为游戏应用时,用户选择的待打包的游戏场景等。
第二打包配置信息可以是根据不同的发布平台,自动进行配置得到的打包配置信息。当用户选择出目标发布平台后,无需用户进行选择,可以根据目标发布平台自动进行配置得到相应的第二打包配置信息,提高了配置效率。具体的,可以预先设置配置信息库,里面可以存储基于不同平台的打包配置规则确定出的打包配置信息,当确定出目标发布平台后,可以通过查询配置信息库得到目标发布平台对应的第二打包配置信息。
第二打包配置信息可以包括:脚本编译方式、引擎模块剔除规则、特定资源的导出规则、资源压缩处理规则和动画二进制资源的输出格式等,本申请不作限制,可以根据实际需求设置哪些打包配置信息可以根据目标发布平台自动配置。
在本申请实施例中,基于设置操作确定目标应用的第一打包配置信息,可以包括如下步骤:
(1)基于用户针对目标应用的资源打包配置选项的设置操作,确定初始打包配置信息。
(2)校验初始打包配置信息;校验初始打包配置信息可以包括:检测初始打包配置信息中是否存在配置异常信息。
在本申请实施例中,初始打包配置信息存在配置异常信息可以包括其中至少一项:初始打包配置信息中缺少必选配置信息;初始打包配置信息中的存在不符合预设设置规则的打包配置信息;初始打包配置信息中存在相互矛盾的打包配置信息。
具体的,初始打包配置信息中缺少必选的配置信息可以包括:用户未填写目标应用的名称、ID等。
初始打包配置信息中的存在不符合预设设置规则的打包配置信息,可以是用户针对任一打包配置选项输入的初始打包配置信息不满足该打包配置选项对应的选项设置规则。例如,对于打包配置选项中的路径选项,其对应的预设的选项设置规则为:发布路径中不允许包含空格、非法字符以及中文,若用户的操作信息中针对路径选项输入了含有中文的路径名称,则在对用户选择的打包配置选项进行校验时,会检测到路径选项存在对应的选项异常信息。
初始打包配置信息中存在相互矛盾的打包配置信息,可以是用户通过构建界面选择出的多个打包配置选项之间存在预设的逻辑关系时,部分打包配置选项之间逻辑关系相互冲突,不能同时选择,导致相互矛盾的打包配置选项分别对应的初始打包配置信息之间也相互矛盾。
在本申请实施例中,还可以存在另一种实施方式,初始打包配置信息存在配置异常信息的情况可以包括:初始打包配置信息中缺少必选配置信息;初始打包配置信息中的存在不符合预设设置规则的打包配置信息。
而针对初始打包配置信息中存在相互矛盾的打包配置信息这一情况,各个资源打包配置选项之间可以存在预设的逻辑关系,在用户对资源打包配置选项进行设置时,资源打包配置设置界面会根据用户已选的资源打包配置选项,基于预设的选项之间的逻辑关系,自动排除与已选项矛盾的资源打包配置选项,从而避免用户设置的资源打包配置选项对应的目标打包配置信息之间存在矛盾,同时无需用户自己记住各个平台的打包方式之间的差异。
(3)若初始打包配置信息不存在配置异常信息,则将初始打包配置信息确定为第一打包配置信息;若初始打包配置信息存在配置异常信息,则向用户展示修改提示信息,获取用户针对资源打包配置选项的修改操作,得到修改后的打包配置信息;并将修改后的打包配置信息作为第一打包配置信息。
具体的,若初始打包配置信息不存在配置异常信息,则可以将初始打包配置信息确定为第一打包配置信息。若初始打包配置信息检测出存在配置异常信息,则可以进一步确定出是哪一个选项出现了配置异常信息,并针对出现配置异常信息的选项向用户显示修改提示信息,修改提示信息的形式可以包括在界面悬浮显示提示文本框,告知用户哪些选项存在配置异常信息,需要用户对这些选项进行修改;修改提示信息的形式还可以是在界面上显示简单的提示信息,并在资源打包配置界面中存在配置异常信息的选项旁边进行标记提示,并指出存在何种配置异常信息,便于用户一一修改。
可以获取用户针对资源打包配置选项的修改操作,得到修改后的打包配置信息,其中,修改后的打包配置信息包括已修改的打包配置信息,也可以通过校验的、无需修改的初始打包配置信息。可以将修改后的打包配置信息作为第一打包配置信息。
步骤S103,基于包括第一打包配置信息和第二打包配置信息的目标打包配置信息,确定待打包的目标资源文件。
在本申请实施例中,目标打包配置信息可以包括第一打包配置信息和第二打包配置信息,可以基于目标打包配置信息确定待打包的目标资源文件。目标打包配置信息可以包括所有根据打包配置选项确定出的打包配置信息;根据目标发布平台自动匹配得到的目标发布平台对应的打包配置信息;默认的、预设的、具有泛用性的打包配置信息。
其中,目标资源文件可以包括但不限于如下几类资源文件:
场景资源文件,是游戏项目中组织游戏内容的中心,也是呈现游戏内容的载体;场景资源文件保存了游戏的大部分信息,是创作的基础;在场景资源文件内可以集成关于任一确定场景的相关的资源文件;
图像资源文件,图像资源可以被称为贴图、图片等,是游戏项目中绝大部分图像渲染的数据源,可以由图像处理软件制作并输出为特定的文件格式;
脚本资源文件,在本申请中,脚本也是资源的一部分;脚本是可以使用特定的描述性语言,依据一定的格式编写的可执行文件;
字体资源文件,指与目标应用中使用到的字体相关的文件,用于在目标应用中显示相应字体的文字;
声音资源文件,即目标应用中所使用的音频文件。
在本申请实施例中,在确定出待打包的目标资源文件之前,可以初始化整个目标应用的资源信息列表,作为后续查找和处理资源文件的信息源。
在一些实施例中,资源打包方法还包括对目标资源文件进行相应的处理,不同类型的资源文件会有不同的资源处理规则。其中,资源处理规则可以由以下几种方式确定:根据用户在打包配置选项中选择的资源处理选项确定出相应的资源处理规则,如是否需要对纹理文件进行压缩等;默认的、预设的、具有泛用性的资源处理规则,这部分资源处理规则无需用户选择;当用户选择出目标发布平台以后,根据目标发布平台规定的资源处理方法确定资源处理规则。
可以根据资源文件的类型对目标资源文件进行分类,分为JSON(JavaScriptObject Notation,数据交换格式)格式文件、图像资源文件、模型资源文件、二进制文件、脚本资源文件等。
具体的资源文件处理规则可以包括但不限于:将图像资源文件压缩为预设的格式、合并JSON格式文件,优化万维网平台上的资源请求数;合并脚本资源文件,若用户使用预设的脚本编写方式,本申请资源打包方式实现后的游戏开发应用程序可以自动进行脚本合并以及剔除目标发布平台所不需要的代码,进一步减小资源包的体积。
在另一些实施例中,若目标应用是用户使用预设的代码编写方式完成的,则本申请资源打包方式实现后的游戏开发应用程序可以自动对资源文件进行进一步筛选,例如可以剔除不需要引擎模块、图片、模型、纹理以及配置文件等。
步骤S104,基于待打包的目标资源文件和目标打包配置信息生成目标资源包。
在本申请实施例中,可以根据目标打包配置信息进一步生成目标配置文件,目标配置文件中包括运行目标应用所需的配置文件,也包括目标发布平台所需的、特定的配置文件或者编译库。可以通过目标打包配置信息中的资源打包方式对目标配置文件和目标资源文件进行打包,得到相应的资源包。
上述实施例中的资源打包方法,通过资源打包配置界面,接收用户针对目标应用的发布平台的选择操作和针对资源打包配置选项的设置操作,再分别基于设置操作确定目标应用的第一打包配置信息,基于选择操作确定目标发布平台,再进一步基于目标发布平台确定第二打包配置信息,得到包括第一打包配置信息和第二打包配置信息的目标打包配置信息。可以根据目标打包配置信息,确定出待打包的目标资源文件,然后根据目标打包配置信息和待打包的目标资源文件生成目标资源包。本申请通过资源打包配置界面向用户提供多个资源打包配置选项进行选择,其中,资源打包配置选项包括目标平台所对应的配置选项,实现同一套目标应用的代码通过用户在资源打包配置界面上简单地设置后,就能打包出可以运行于不同发布平台的资源包,提高了资源打包的效率。
在本申请实施例中,针对目标应用的资源打包配置选项的设置操作包括应用场景选择操作,目标打包配置信息包括应用场景选择操作对应的目标场景。即可以根据用户针对资源打包配置选项中场景选项的应用场景选择操作确定出目标场景。
基于目标打包配置信息,确定待打包的目标资源文件,可以包括:
基于目标场景,确定与目标场景具有依赖关系的资源文件,待打包的目标资源文件包括确定出的与目标场景具有依赖关系的资源文件。
其中,场景可以是游戏项目中的环境因素的抽象集合,可以通过编辑器来制作,用于表现游戏中的一部分世界内容。
依赖关系可以包括直接依赖关系和间接依赖关系,直接依赖关系是指资源文件之间存在依赖关系并且无其他资源文件传递依赖关系,即树形依赖关系中相邻的、具有依赖关系的资源文件;而间接依赖关系是相对于直接依赖关系而言的,两个资源文件之间存在间接依赖关系时,资源文件之间会有传递依赖关系的其他资源文件。例如,资源文件A依赖资源文件B,资源文件B依赖资源文件C,则资源文件A和资源文件B、资源文件B和资源文件C之间具有直接依赖关系,资源文件A和资源文件C具有间接依赖关系。
在本申请实施例中,确定与目标场景具有依赖关系的资源文件,可以包括如下步骤:
确定与目标场景存在直接依赖关系的第一资源文件;将每个第一资源文件分别作为初始的第二资源文件,并重复执行以下操作,直至不存在与第二资源文件存在直接依赖关系的资源文件为止;
确定与第二资源文件存在直接依赖关系的第三资源文件,并将每个第三资源文件作为新的第二资源文件;
其中,与目标场景具有依赖关系的资源文件包括第一资源文件、第二资源文件和第三资源文件。
具体的,在确定与目标场景具有依赖关系的资源文件时,可以先对目标场景进行序列化,然后查询与序列化后的目标场景存在直接依赖关系的资源文件,针对每一与场景存在直接依赖关系的资源文件,进一步确定与该资源文件存在直接依赖关系的其他资源文件,这样层层递进,直到确定出的资源文件不存在直接依赖关系为止,即确定出与目标场景存在直接依赖关系或者间接依赖关系的所有资源文件作为待打包的目标资源文件。
可以理解的是,上述不存在直接依赖关系可以是指确定出的资源文件没有直接依赖于其他资源文件,但对于该确定出的资源文件来说,该资源文件可以存在被依赖关系。具体而言,当资源文件A依赖资源文件B,资源文件B依赖资源文件C时,资源文件C不存在它直接依赖的资源文件,但存在资源文件C被资源文件B直接依赖,前者是“依赖于”,后者是“被依赖”,当资源文件C不存在直接依赖(指的是“依赖于”的情况)的资源文件时,即可判断不存在与资源文件C存在直接依赖关系的资源文件。
在一个示例中,目标场景A的资源文件依赖树如图3所示,目标场景A与资源文件B和资源文件C具有直接依赖关系,资源文件B与资源文件D、资源文件D与资源文件G、资源文件D与资源文件H、资源文件C和资源文件E、资源文件C和资源文件F以及资源文件E和资源文件I具有直接依赖关系。
确定出与目标场景A具有依赖关系的资源文件的步骤可以如下:
先确定与目标场景A存在直接依赖关系的第一资源文件,在本示例中,第一资源文件可以是资源文件B和资源文件C;
将每个第一资源文件分别作为初始的第二资源文件,即初始的第二资源文件为资源文件B和资源文件C,确定与第二资源文件存在直接依赖关系的第三资源文件,即分别确定出与资源文件B和资源文件C存在直接依赖关系的资源文件,得到多个第三资源文件:资源文件D(基于资源文件B确定)、资源文件E(基于资源文件C确定)和资源文件F(基于资源文件C确定);
将每个第三资源文件作为新的第二资源文件,再次确定与第二资源文件存在直接依赖关系的新的第三资源文件,得到资源文件G(基于资源文件D确定)、资源文件H(基于资源文件D确定)和资源文件I(基于资源文件E确定);
资源文件G、资源文件H和资源文件I不存在直接依赖的资源文,结束流程。
最终确定出与目标场景A具有依赖关系的资源文件A、B、C、D、E、F、G、H、H和I。
在一些实施例中,目标打包配置信息包括资源打包方式;基于待打包的目标资源文件和目标打包配置信息生成目标资源包,可以包括以下步骤:基于目标发布平台从预设的配置模板库中选择出目标配置模板;基于目标打包配置信息和目标配置模板生成目标配置文件;基于资源打包方式配置信息,采用对应的资源打包方式对目标配置文件和待打包的目标资源文件进行打包生成目标资源包。
其中,目标打包配置信息可以包括资源打包方式,资源打包方式的确定方法可以是根据用户针对资源打包配置选项中资源打包方式的选项的选择操作确定;还可以是在用户选择出目标发布平台后,根据目标发布平台确定相应的资源打包方式。
可以预设有配置模板库,提供多个配置模板供匹配,具体匹配方式可以是:不同发布平台预设有对应的配置模板;目标打包配置信息中的第二打包配置信息可以包括目标发布平台所使用的配置模板的模板标识,基于模板标识从预设的配置模板库中选择出模板标识对应的目标配置模板。终端中可以预先存储有不同平台和配置模板的模板标识之间的对应关系。
基于目标打包配置信息和目标配置模板生成目标配置文件可以包括:在目标配置模板中填入目标打包配置信息中的相应的配置信息,生成目标配置文件,目标配置文件可以是JSON文本数据,记录用户的服务器地址和游戏项目的名称等;目标配置文件的数量可以是一个,也可以是多个,可以根据项目实际需求进行设置。
在另一些实施例中,目标打包配置信息包括资源打包方式和目标发布平台对应的资源文件目录结构;基于待打包的目标资源文件和目标打包配置信息生成目标资源包,可以包括如下步骤:
可以基于目标打包配置信息生成目标配置文件,目标配置文件包括目标发布平台对应的平台配置文件。可以基于目标打包配置信息生成目标配置文件,目标打包配置信息中包括基于目标发布平台确定的第二打包配置信息,因此,目标配置文件可以包括目标发布平台对应的平台配置文件,平台配置文件可以是目标发布平台指定的、必要的配置文件。目标配置文件除了包括平台配置文件以外,还可以包括所有用于使目标应用正常运行的配置文件,例如,游戏引擎加载游戏资源的入口配置文件,可以记录初始场景、物理引擎配置、游戏名称等。
在一些实施例中,基于目标打包配置信息可以生成两种类型的目标配置文件,可以包括与发布平台相关的配置文件和与发布平台无关的配置文件。在更改目标发布平台时,可以只针对发布平台相关的配置文件进行更改,提高项目开发效率。
(2)可以根据目标打包配置信息中的资源打包方式,采用资源打包方式对目标配置文件和待打包的目标资源文件进行打包生成相应的资源包;其中,资源打包方式的确定方法可以是根据用户针对资源打包配置选项中资源打包方式的选项的选择操作确定;还可以是在用户选择出目标发布平台后,根据目标发布平台确定相应的资源打包方式。通过确定出的资源打包方式对目标配置文件和待打包的目标资源文件进行打包,可以得到指定格式的资源包。这里的指定格式可以是指目标发布平台指定的资源包格式。
(3)可以基于目标打包配置信息中的目标发布平台对应的资源文件目录结构,对资源包的文件目录进行调整,得到目标资源包。
具体的,可以根据目标打包配置信息中的目标发布平台对应的资源文件目录结构对资源包进行调整,使目标应用能够更加适应于目标发布平台。
当需要根据目标发布平台支持的语言格式对资源包进行编译时,可以在根据目标发布平台对应的资源文件目录结构对资源包进行调整之后,通过目标发布平台指定的平台工具对调整之后的资源包进行编译处理,将资源包翻译为目标发布平台指定的语言格式,得到最终的目标资源包。
在一个实施例中,本申请提供资源打包方法,如图4所示,包括如下步骤。
步骤S401,通过资源打包配置界面,接收用户针对目标应用的发布平台的选择操作和针对目标应用的资源打包配置选项的设置操作;
步骤S402,基于选择操作确定目标应用的目标发布平台,资源打包配置选项包括目标发布平台对应的选项;
步骤S403,基于用户针对目标应用的资源打包配置选项的设置操作,确定初始打包配置信息;
步骤S404,校验初始打包配置信息;
步骤S405,初始打包配置信息是否存在配置异常信息,若存在,则进入步骤S406,否则进入步骤S407;
步骤S406,向用户展示修改提示信息,获取用户针对资源打包配置选项的修改操作,得到修改后的打包配置信息;并将修改后的打包配置信息作为第一打包配置信息,进入步骤S408;
步骤S407,将初始打包配置信息确定为所述第一打包配置信息;
步骤S408,基于包括第一打包配置信息和第二打包配置信息的目标打包配置信息,确定待打包的目标资源文件;其中,针对目标应用的资源打包配置选项的设置操作包括应用场景选择操作,目标打包配置信息包括应用场景选择操作对应的目标场景;基于目标场景,确定与目标场景具有依赖关系的资源文件,待打包的目标资源文件包括确定出的与所述目标场景具有依赖关系的资源文件;
步骤S409,基于目标打包配置信息生成目标配置文件,目标配置文件包括目标发布平台对应的平台配置文件;
步骤S410,根据目标打包配置信息中的所述资源打包方式,采用所述资源打包方式对目标配置文件和待打包的目标资源文件进行打包生成相应的资源包;
步骤S411,基于目标打包配置信息中的目标发布平台对应的资源文件目录结构,对资源包的文件目录进行调整;
步骤S412,通过目标发布平台指定的平台工具对调整之后的资源包进行编译处理,将资源包翻译为目标发布平台指定的语言格式,得到最终的目标资源包。
为了更清楚阐释本申请的资源打包方法,以下将结合具体示例对资源打包方法进行进一步说明。
在一个示例中,本申请中的资源打包方法可以用于打包需要在不同平台进行发布的游戏应用,即目标应用可以是待打包的游戏项目。
第一步,通过资源打包配置界面,接收用户针对目标应用的发布平台选择操作和针对目标应用的资源打包配置选项的设置操作。
本申请中的资源打包方法可以实现为一个游戏开发应用程序(可以是一个独立的应用程序,也可以是一个插件/组件或是其他应用程序的一个功能模块),该游戏开发应用程序可以向用户提供资源打包配置界面,用户可以通过在资源打包配置界面中对各项可选参数进行设置,根据自身需求对目标应用的相关资源文件进行打包。
具体的,用户可以在资源打包配置界面中选择目标应用的发布平台,以及对资源打包配置界面中显示的多个资源打包配置选项进行设置,这两类操作之间并不限制先后顺序。用户既可以先选择发布平台,再设置资源打包配置选项,也可以先设置资源打包配置选项,再选择发布平台,又或者可以先设置一部分资源打包配置选项,再选发布平台,然后继续完成对剩余资源打包配置选项的设置。
用户针对目标应用的发布平台选择操作可以包括点击包括但不限于点击按钮、勾选选项、输入文本框和从下拉列表中选择目标选项等操作,能确定出用户所选择的目标发布平台即可。
同样,用户针对资源打包配置选项的设置操作也可以包括但不限于点击按钮、勾选选项、输入文本框和从下拉列表中选择目标选项。
资源打包配置界面可以包括多个打包配置选项,每个打包配置选项对应于不同的配置功能。例如,打包配置选项至少可以包括:场景选项,用于选择待打包的资源文件对应的场景,在目标应用为游戏应用时,场景可以是指游戏应用中的环境因素的抽象集合;压缩选项,用于选择文件压缩方式;图集选项,用于是否使用自动图集功能;路径选项,用于指定项目的发布路径等。
在一些实施例中,用户针对目标应用的资源打包配置选项的设置操作可以包括用户对发布平台的选择操作。例如,资源打包配置选项中可以包括发布平台选项,用于选择该游戏项目将要发布的平台。用户可以通过选择发布平台选项,完成对发布平台的选择。
进一步的,部分打包配置选项内可能包含配置子选项,例如,从发布平台选项中选择了游戏项目具体要发布的原生平台后,可以显示对应于所选择的原生平台的展开选项,展开选项可以用于用户针对任一原生平台进行更细致的配置。不同的原生平台可能存在不同的展开选项。
除了资源打包配置界面中预设的打包配置选项可供用户选择以外,用户还可以通过插件将自定义的打包配置选项添加进资源打包配置界面中。
在资源打包配置选项中,一部分选项可以是给用户提供了多个候选选项,用户在候选选项中选择目标选项,而另一部分选项可以是需要用户填写的文本框,用户通过输入文本来设置这些选项。此外,资源打包配置选项还可以分为必选选项和非必选选项,非必选选项用户可以进行设置,也可以不进行设置,如果不进行设置则采用默认配置信息。
第二步,可以基于选择操作确定目标应用的目标发布平台,资源打包配置选项包括目标发布平台对应的选项;基于设置操作确定目标应用的第一打包配置信息;基于目标发布平台确定目标应用的第二打包配置信息;
其中,基于设置操作确定目标应用的第一打包配置信息,可以包括如下步骤:基于针对目标应用的资源打包配置选项的设置操作,确定目标应用的目标打包配置信息,即初始打包配置信息。对初始打包配置信息进行校验,从而确定是否存在配置异常信息。具体的,初始打包配置信息存在配置异常信息的情况可以包括:初始打包配置信息中缺少必选配置信息、初始打包配置信息中的存在不符合预设设置规则的打包配置信息、初始打包配置信息中存在相互矛盾的打包配置信息中的至少一项。
初始打包配置信息中的存在不符合预设设置规则的打包配置信息,可以是用户针对任一打包配置选项输入的初始打包配置信息不满足该打包配置选项对应的选项设置规则。例如,对于打包配置选项中的路径选项,其对应的预设的选项设置规则为:发布路径中不允许包含空格、非法字符以及中文,若用户的操作信息中针对路径选项输入了含有中文的路径名称,则在对用户选择的打包配置选项进行校验时,会检测到路径选项存在对应的选项异常信息。
初始打包配置信息中存在相互矛盾的打包配置信息,可以是用户通过构建界面选择出的多个打包配置选项之间存在预设的逻辑关系时,部分打包配置选项之间逻辑关系相互冲突,不能同时选择,导致相互矛盾的打包配置选项分别对应的初始打包配置信息之间也相互矛盾。
例如在打包配置选项的发布平台选项中选择了A平台,在纹理压缩选项中选择了压缩方式A,A平台和压缩方式A为发布平台选项和压缩选项分别对应的初始打包配置信息。若A平台实际上并不支持压缩方式A对应的压缩格式,则此时,用户所选择的打包配置选项分别对应的初始打包配置信息之间存在矛盾。
在本实施例中,还可以存在另一种实施方式,初始打包配置信息存在配置异常信息的情况可以包括:初始打包配置信息中缺少必选配置信息;初始打包配置信息中的存在不符合预设设置规则的打包配置信息。
而针对初始打包配置信息中存在相互矛盾的打包配置信息这一情况,各个资源打包配置选项之间可以存在预设的逻辑关系,在用户对资源打包配置选项进行设置时,资源打包配置界面会根据用户已选的资源打包配置选项,基于预设的选项之间的逻辑关系,自动排除与已选项矛盾的资源打包配置选项,从而避免用户设置的资源打包配置选项对应的目标打包配置信息之间存在矛盾,同时无需用户自己记住各个平台的打包方式之间的差异。
例如,若用户在发布平台选项中选择了A平台,则A平台不支持的纹理压缩方式A相应的选项的状态自动变为不可选择状态,从而避免被用户选择,提高打包效率。
第二打包配置信息可以是根据不同的发布平台,自动进行配置得到的打包配置信息。当用户选择出目标发布平台后,无需用户进行选择,可以根据目标发布平台自动进行配置得到相应的第二打包配置信息,提高了配置效率。具体的,可以预先设置配置信息库,里面可以存储基于不同平台的打包配置规则确定出的打包配置信息,当确定出目标发布平台后,可以通过查询配置信息库得到目标发布平台对应的第二打包配置信息。
第二打包配置信息可以包括:脚本编译方式、引擎模块剔除规则、特定资源的导出规则、资源压缩处理规则和动画二进制资源的输出格式等,本申请不作限制,可以根据实际需求设置哪些打包配置信息可以根据目标发布平台自动配置。
第三步,若初始打包配置信息不存在配置异常信息,则将初始打包配置信息确定为第一打包配置信息;若初始打包配置信息存在配置异常信息,则向用户展示修改提示信息,获取用户针对资源打包配置选项的修改操作,得到修改后的打包配置信息;并将修改后的打包配置信息作为第一打包配置信息。
第四步,可以基于场景选项对应初始打包配置信息中的目标场景,确定与目标场景相关联的依赖关系,再基于依赖关系,确定待打包的目标资源文件。
其中,依赖关系可以包括直接依赖关系和间接依赖关系,直接依赖关系是指资源文件之间存在依赖关系并且无其他资源文件传递依赖关系,即树形依赖关系中相邻的、具有依赖关系的资源文件;而间接依赖关系是相对于直接依赖关系而言的,两个资源文件之间存在间接依赖关系时,资源文件之间会有传递依赖关系的其他资源文件。例如,资源文件A依赖资源文件B,资源文件B依赖资源文件C,则资源文件A和资源文件B、资源文件B和资源文件C之间具有直接依赖关系,资源文件A和资源文件C具有间接依赖关系。
具体的,先对目标场景进行序列化。其中,场景是指游戏项目中的环境因素的抽象集合,可以通过编辑器来制作,用于表现游戏中的一部分世界内容。然后查询与序列化后的目标场景存在直接依赖关系的资源文件,针对每一与场景存在直接依赖关系的资源文件,进一步确定与该资源文件存在直接依赖关系的其他资源文件,这样层层递进,直到确定出的资源文件不存在直接依赖关系为止,即确定出与目标场景存在直接依赖关系或者间接依赖关系的所有资源文件作为待打包的目标资源文件。
在本申请实施例中,目标资源文件除了与目标场景存在直接依赖关系或者间接依赖关系的所有资源文件以外,还包括多种类型的资源文件,例如,JSON(JavaScript ObjectNotation,数据交换格式)格式文件、图像资源文件、模型资源文件、二进制文件、脚本资源文件等。
第五步,对待打包的目标资源文件做相应的处理。具体的,可以基于目标打包配置选项,从筛选出的待打包资源中进一步选择出要处理的资源文件,根据项目需求对这些资源文件做进一步处理。可选的,可以预配置有相应的处理规则,根据这些处理规则筛选出需要进一步处理的资源文件。还可以预置好具体的处理方式,在确定出需要进行处理的资源文件后,根据对应的处理方式对资源文件进行进一步处理。例如可以从待打包的目标资源文件中选择出需要进行处理的脚本文件,比如根据预设的脚本处理规则合并脚本,或者将待打包资源文件的散图合并为大图集,以节省实际运行时的资源加载次数。
在本申请实施例中,在对目标资源文件进行处理之后,可以基于处理之后的资源文件中比较关键的资源文件生成资源列表信息,该资源列表信息可以作为游戏引擎加载游戏资源的入口配置文件,里面可以记录有预设的初始场景、物理引擎诶只、游戏名称等配置信息。
第六步,基于目标打包配置信息和处理后的资源文件生成配置文件。具体的,可以基于目标打包配置信息从预设的配置模板库中选择出目标配置模板,从目标打包配置信息和处理后的资源文件中获取必要的配置信息,填入目标配置模板,得到目标配置文件。
第七步,目标打包配置信息包括资源打包方式配置信息,基于资源打包方式配置信息,采用对应的资源打包方式对目标配置文件和处理后的资源文件进行打包,得到目标资源包。其中,目标配置文件中包含了待发布游戏项目将要发布的平台的信息,针对该平台对应的数据格式打包配置文件和处理后的资源文件,得到目标资源包。最终生成的目标资源包便是可以在对应平台上运行的完整游戏实例。
本申请实施例中提供了一种电子设备,该电子设备包括:存储器和处理器;至少一个程序,存储于存储器中,用于被处理器执行时,与现有技术相比可实现:通过用户在资源打包配置界面上简单地设置后,就能打包出可以运行于不同发布平台的资源包,提高了资源打包的效率。
本申请实施例提供了一种资源打包装置,如图5所示,该资源打包装置50可以包括:设置操作接收模块501、配置信息确定模块502、资源确定模块503以及资源打包模块504其中,
设置操作接收模块501,用于通过资源打包配置界面,接收用户针对目标应用的发布平台选择操作和针对目标应用的资源打包配置选项的设置操作;
配置信息确定模块502,用于基于选择操作,确定目标应用的目标发布平台;资源打包配置选项包括目标发布平台对应的选项;基于设置操作确定目标应用的第一打包配置信息;基于目标发布平台确定目标应用的第二打包配置信息;
资源确定模块503,用于基于包括第一打包配置信息和第二打包配置信息的目标打包配置信息,确定待打包的目标资源文件;
资源打包模块504,用于基于待打包的目标资源文件以及目标打包配置信息生成目标资源包。
上述的资源打包装置,通过资源打包配置界面,接收用户针对目标应用的发布平台的选择操作和针对资源打包配置选项的设置操作,再分别基于设置操作确定目标应用的第一打包配置信息,基于选择操作确定目标发布平台,再进一步基于目标发布平台确定第二打包配置信息,得到包括第一打包配置信息和第二打包配置信息的目标打包配置信息。可以根据目标打包配置信息,确定出待打包的目标资源文件,然后根据目标打包配置信息和待打包的目标资源文件生成目标资源包。本申请通过资源打包配置界面向用户提供多个资源打包配置选项进行选择,其中,资源打包配置选项包括目标平台所对应的配置选项,实现同一套目标应用的代码通过用户在资源打包配置界面上简单地设置后,就能打包出可以运行于不同发布平台的资源包,提高了资源打包的效率。
在本申请实施例中,配置信息确定模块502在基于设置操作确定目标应用的第一打包配置信息时,具体用于:
基于用户针对目标应用的资源打包配置选项的设置操作,确定初始打包配置信息;
校验初始打包配置信息;
若初始打包配置信息不存在配置异常信息,则将初始打包配置信息确定为第一打包配置信息;
若初始打包配置信息存在配置异常信息,则向用户展示修改提示信息,获取用户针对资源打包配置选项的修改操作,得到修改后的打包配置信息;并将修改后的打包配置信息作为第一打包配置信息。
在本申请实施例中,初始打包配置信息存在配置异常信息包括以下至少一项:
初始打包配置信息中缺少必选配置信息;
初始打包配置信息中的存在不符合预设设置规则的打包配置信息;
初始打包配置信息中存在相互矛盾的打包配置信息。
在本申请实施例中,针对目标应用的资源打包配置选项的设置操作包括应用场景选择操作,目标打包配置信息包括应用场景选择操作对应的目标场景,资源确定模块503在基于目标打包配置信息,确定待打包的目标资源文件时,具体用于:
基于目标场景,确定与目标场景具有依赖关系的资源文件,待打包的目标资源文件包括确定出的与目标场景具有依赖关系的资源文件。
在本申请实施例中,资源确定模块503在确定与目标场景具有依赖关系的资源文件时,具体用于:
确定与目标场景存在直接依赖关系的第一资源文件;将每个第一资源文件分别作为初始的第二资源文件,并重复执行以下操作,直至不存在与第二资源文件存在直接依赖关系的资源文件为止;
确定与第二资源文件存在直接依赖关系的第三资源文件,并将每个第三资源文件作为新的第二资源文件;
其中,与目标场景具有依赖关系的资源文件包括第一资源文件、第二资源文件和第三资源文件。
在本申请实施例中,目标打包配置信息包括资源打包方式;资源打包模块504在基于待打包的目标资源文件和目标打包配置信息生成目标资源包时,具体用于:
基于目标打包配置信息从预设的配置模板库中选择出目标配置模板;
基于目标打包配置信息和目标配置模板生成目标配置文件;
基于资源打包方式配置信息,采用对应的资源打包方式对目标配置文件和待打包的目标资源文件进行打包生成目标资源包。
在本申请实施例中,目标打包配置信息包括资源打包方式和目标发布平台对应的资源文件目录结构;资源打包模块504在基于待打包的目标资源文件和目标打包配置信息生成目标资源包时,具体用于:
基于目标打包配置信息生成目标配置文件,目标配置文件包括目标发布平台对应的平台配置文件;
根据目标打包配置信息中的资源打包方式,采用资源打包方式对目标配置文件和待打包的目标资源文件进行打包生成相应的资源包;
基于目标打包配置信息中的目标发布平台对应的资源文件目录结构,对资源包的文件目录进行调整,得到目标资源包。
在一个可选实施例中提供了一种电子设备,如图6所示,图6所示的电子设备6000包括:处理器6001和存储器6003。其中,处理器6001和存储器6003相连,如通过总线6002相连。可选地,电子设备6000还可以包括收发器6004,收发器6004可以用于该电子设备与其他设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器6004不限于一个,该电子设备6000的结构并不构成对本申请实施例的限定。
处理器6001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器6001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线6002可包括一通路,在上述组件之间传送信息。总线6002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线6002可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器6003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器6003用于存储执行本申请方案的应用程序代码(计算机程序),并由处理器6001来控制执行。处理器6001用于执行存储器6003中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于诸如移动电话、笔记本电脑、PAD等等移动终端以及诸如数字TV、台式计算机等等固定终端。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,实现同一套目标应用的代码通过用户在资源打包配置界面上简单地设置后,就能打包出可以运行于不同发布平台的资源包,提高了资源打包的效率。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行时实现如下情况:
根据用户在资源打包配置界面中针对目标应用的发布平台的选择操作和针对资源打包配置选项的设置操作,确定目标打包配置信息,然后基于目标打包配置信息,确定出待打包的目标资源文件,可以根据目标打包配置信息和待打包的目标资源文件生成目标资源包。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种资源打包方法,其特征在于,包括:
通过资源打包配置界面,接收用户针对目标应用的发布平台的选择操作和针对所述目标应用的资源打包配置选项的设置操作;
基于所述选择操作确定所述目标应用的目标发布平台,所述资源打包配置选项包括所述目标发布平台对应的选项;
基于所述设置操作确定所述目标应用的第一打包配置信息;
基于所述目标发布平台确定所述目标应用的第二打包配置信息;
基于包括所述第一打包配置信息和所述第二打包配置信息的目标打包配置信息,确定待打包的目标资源文件;
基于所述待打包的目标资源文件和所述目标打包配置信息生成目标资源包。
2.根据权利要求1所述的资源打包方法,其特征在于,所述基于所述设置操作确定所述目标应用的第一打包配置信息,包括:
基于用户针对所述目标应用的资源打包配置选项的设置操作,确定初始打包配置信息;
校验所述初始打包配置信息;
若所述初始打包配置信息不存在配置异常信息,则将所述初始打包配置信息确定为所述第一打包配置信息;
若所述初始打包配置信息存在配置异常信息,则向所述用户展示修改提示信息,获取所述用户针对资源打包配置选项的修改操作,得到修改后的打包配置信息;并将修改后的打包配置信息作为所述第一打包配置信息。
3.根据权利要求2所述的资源打包方法,其特征在于,所述初始打包配置信息存在配置异常信息包括以下至少一项:
所述初始打包配置信息中缺少必选配置信息;
所述初始打包配置信息中的存在不符合预设设置规则的打包配置信息;
所述初始打包配置信息中存在相互矛盾的打包配置信息。
4.根据权利要求1所述的资源打包方法,其特征在于,
所述针对所述目标应用的资源打包配置选项的设置操作包括应用场景选择操作,所述目标打包配置信息包括所述应用场景选择操作对应的目标场景,
所述基于目标打包配置信息,确定待打包的目标资源文件,包括:
基于所述目标场景,确定与所述目标场景具有依赖关系的资源文件,所述待打包的目标资源文件包括确定出的与所述目标场景具有依赖关系的资源文件。
5.根据权利要求4所述的资源打包方法,其特征在于,所述确定与所述目标场景具有依赖关系的资源文件,包括:
确定与所述目标场景存在直接依赖关系的第一资源文件;将所述每个第一资源文件分别作为初始的第二资源文件,并重复执行以下操作,直至不存在与所述第二资源文件存在直接依赖关系的资源文件为止;
确定与所述第二资源文件存在直接依赖关系的第三资源文件,并将所述每个第三资源文件作为新的第二资源文件;
其中,所述与所述目标场景具有依赖关系的资源文件包括所述第一资源文件、所述第二资源文件和所述第三资源文件。
6.根据权利要求1至5中任一项所述的资源打包方法,其特征在于,所述目标打包配置信息包括资源打包方式;所述基于所述待打包的目标资源文件和所述目标打包配置信息生成目标资源包,包括:
基于所述目标打包配置信息从预设的配置模板库中选择出目标配置模板;
基于所述目标打包配置信息和所述目标配置模板生成所述目标配置文件;
基于所述资源打包方式配置信息,采用对应的资源打包方式对所述目标配置文件和所述待打包的目标资源文件进行打包生成目标资源包。
7.根据权利要求1至5中任一项所述的资源打包方法,所述目标打包配置信息包括资源打包方式和目标发布平台对应的资源文件目录结构;所述基于所述待打包的目标资源文件和所述目标打包配置信息生成目标资源包,包括:
基于所述目标打包配置信息生成目标配置文件,所述目标配置文件包括所述目标发布平台对应的平台配置文件;
根据所述目标打包配置信息中的所述资源打包方式,采用所述资源打包方式对所述目标配置文件和所述待打包的目标资源文件进行打包生成相应的资源包;
基于所述目标打包配置信息中的所述目标发布平台对应的资源文件目录结构,对所述资源包的文件目录进行调整,得到所述目标资源包。
8.一种资源打包装置,其特征在于,包括:
设置操作接收模块,用于通过资源打包配置界面,接收用户针对目标应用的发布平台选择操作和针对所述目标应用的资源打包配置选项的设置操作;
配置信息确定模块,用于基于所述选择操作,确定所述目标应用的目标发布平台;所述资源打包配置选项包括所述目标发布平台对应的选项;基于所述设置操作确定所述目标应用的第一打包配置信息;基于所述目标发布平台确定所述目标应用的第二打包配置信息;
资源确定模块,用于基于包括所述第一打包配置信息和所述第二打包配置信息的目标打包配置信息,确定待打包的目标资源文件;
资源打包模块,用于基于所述待打包的目标资源文件以及所述目标打包配置信息生成目标资源包。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并在所述处理器上可运行的计算机程序,所述处理器执行所述程序时实现权利要求1-7任一项所述的资源打包方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的资源打包方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111154927.7A CN113885935A (zh) | 2021-09-29 | 2021-09-29 | 资源打包方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111154927.7A CN113885935A (zh) | 2021-09-29 | 2021-09-29 | 资源打包方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113885935A true CN113885935A (zh) | 2022-01-04 |
Family
ID=79008524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111154927.7A Pending CN113885935A (zh) | 2021-09-29 | 2021-09-29 | 资源打包方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113885935A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115129323A (zh) * | 2022-06-30 | 2022-09-30 | 北京新唐思创教育科技有限公司 | 数据资源包的处理方法、装置、设备和存储介质 |
CN116107667A (zh) * | 2023-04-13 | 2023-05-12 | 瞳见科技有限公司 | 一种基于虚幻引擎的模型管理方法、系统、终端及介质 |
CN117369865A (zh) * | 2023-12-07 | 2024-01-09 | 麒麟软件有限公司 | 一种GNU linux通用的应用程序打包方法及图形化应用打包器 |
CN118245073A (zh) * | 2024-05-21 | 2024-06-25 | 先进计算与关键软件(信创)海河实验室 | 一种面向多RISC-V平台的统一Linux操作系统镜像设计方法及装置 |
-
2021
- 2021-09-29 CN CN202111154927.7A patent/CN113885935A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115129323A (zh) * | 2022-06-30 | 2022-09-30 | 北京新唐思创教育科技有限公司 | 数据资源包的处理方法、装置、设备和存储介质 |
CN116107667A (zh) * | 2023-04-13 | 2023-05-12 | 瞳见科技有限公司 | 一种基于虚幻引擎的模型管理方法、系统、终端及介质 |
CN116107667B (zh) * | 2023-04-13 | 2023-08-11 | 瞳见科技有限公司 | 一种基于虚幻引擎的模型管理方法、系统、终端及介质 |
CN117369865A (zh) * | 2023-12-07 | 2024-01-09 | 麒麟软件有限公司 | 一种GNU linux通用的应用程序打包方法及图形化应用打包器 |
CN117369865B (zh) * | 2023-12-07 | 2024-04-05 | 麒麟软件有限公司 | 一种GNU linux通用的应用程序打包方法及图形化应用打包器 |
CN118245073A (zh) * | 2024-05-21 | 2024-06-25 | 先进计算与关键软件(信创)海河实验室 | 一种面向多RISC-V平台的统一Linux操作系统镜像设计方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10908925B2 (en) | Dynamic loading method, and target file creation method and apparatus | |
CN113885935A (zh) | 资源打包方法、装置、电子设备及计算机可读存储介质 | |
CN110764791B (zh) | 小程序的渠道适配方法、装置及电子设备 | |
CN109885324B (zh) | 一种应用程序安装包的处理方法、装置、终端及存储介质 | |
CN109739600B (zh) | 数据处理方法、介质、装置和计算设备 | |
CN106294113B (zh) | 一种基于可编程式测试服务的创建方法及装置 | |
KR20130086138A (ko) | 크로스―플랫폼 어플리케이션 프레임워크 | |
CN111241040A (zh) | 信息获取方法、装置、电子设备及计算机存储介质 | |
CN113485548B (zh) | 头戴显示设备的模型加载方法、装置及头戴显示设备 | |
CN109766123B (zh) | 应用程序封装方法及装置 | |
CN111435313A (zh) | 一种软件换肤的方法及装置 | |
CN106648567B (zh) | 数据获取方法及装置 | |
CN102779045A (zh) | 一种界面生成方法、界面编辑器及电子设备 | |
JP2019501459A (ja) | アプリケーションプログラム実行方法及び装置 | |
CN114461960B (zh) | 页面生成方法、页面展示方法及装置 | |
CN112506526B (zh) | 数据呈现软件部署方法、装置及电子设备 | |
CN107092601B (zh) | 资源文件构建方法、资源文件应用方法及装置 | |
CN111061686A (zh) | 资源处理方法、装置、服务器及存储介质 | |
CN109542531A (zh) | 一种文件布局调整方法及装置 | |
CN110955854A (zh) | 一种热力图生成方法及装置 | |
CN113495727B (zh) | 业务组件开发方法、装置、电子设备及介质 | |
CN116595284B (zh) | 网页系统运行方法、装置、设备、存储介质和程序 | |
CN118134440B (zh) | 一种3d引擎的多人协同场景编辑方法及系统 | |
CN112541182B (zh) | 内核vfs层系统修复方法、装置、设备及存储介质 | |
CN116301833A (zh) | 小程序模板的配置方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |