CN102799444A - 跨平台打包程序的方法及装置 - Google Patents

跨平台打包程序的方法及装置 Download PDF

Info

Publication number
CN102799444A
CN102799444A CN2011101416839A CN201110141683A CN102799444A CN 102799444 A CN102799444 A CN 102799444A CN 2011101416839 A CN2011101416839 A CN 2011101416839A CN 201110141683 A CN201110141683 A CN 201110141683A CN 102799444 A CN102799444 A CN 102799444A
Authority
CN
China
Prior art keywords
platform
main line
file
information
packing
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.)
Granted
Application number
CN2011101416839A
Other languages
English (en)
Other versions
CN102799444B (zh
Inventor
郑昕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Huawei Software Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201110141683.9A priority Critical patent/CN102799444B/zh
Publication of CN102799444A publication Critical patent/CN102799444A/zh
Application granted granted Critical
Publication of CN102799444B publication Critical patent/CN102799444B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种跨平台打包程序的方法及装置。该跨平台打包程序的方法包括:打包引擎模块接收用户展示模块的打包信息,所述打包信息包括用户选择的平台信息和配置信息;所述打包引擎模块从主线文件库中获取所述平台信息对应的主线文件,根据配置信息对所述主线文件进行修改后,对修改后的主线文件进行打包和签名;所述主线文件库包括各平台的主线文件;所述主线文件包括程序运行时配置文件、程序运行时资源文件、打包配置文件和用于打包的编译后中间文件;在完成打包签名后,所述打包引擎模块向所述用户展示模块返回打包签名完成响应。本发明不需要用户熟悉各平台的集成开发环境和打包原理的缺陷,降低了打包出错的概率,提高了打包效率。

Description

跨平台打包程序的方法及装置
技术领域
本发明实施例涉及计算机技术,尤其涉及一种跨平台打包程序的方法及装置。
背景技术
在3G网络日益普及的情况下,智能手机逐渐从专注于通讯的设备变成了以应用为中心的多用途移动平台,使得相关应用产业如手机电视、手机音乐、聊天工具、便携导航、移动搜索和移动广告、电子邮件和电子书等正在发挥更大的影响。同时由于各种智能手机平台的加入,使得相关应用软件对平台特性的支持变得更加重要,例如不同平台的手机需要支持不同的手机内核、界面、皮肤和特效等;特别在目前许多手机应用软件与移动运营商相结合的背景下,不同运营商在网络、业务、功能等方面都存在很大的差异,使得不同平台的手机应用程序对功能和特性的需求变得更加的细致。
目前,大多应用程序发布的安装包,由用户操作各种平台提供的集成开发环境来完成打包。具体打包流程如下:用户先根据不同的局点需求选择应用程序的版本,再根据配置自行修改打包用配置信息文件、应用程序运行时配置文件。之后,用户拷贝运行用资源文件,最后,用户使用集成开发环境对上述文件进行打包和签名。因此,当手机应用程序的配置信息改动后,就需要重新生成安装包。
上述打包过程对用户的要求较高,不仅需要用户搭建相应的集成开发环境,而且要求用户熟悉各平台的集成开发环境和打包原理。由于目前的打包过程对用户要求较高且整个打包过程比较复杂,因此打包时间开销大、打包过程出错率高,打包效率比较低。
发明内容
本发明实施例提供一种跨平台打包程序的方法及装置,用以解决现有技术中打包程序的用户需要熟悉各平台的集成开发环境和打包原理的缺陷,降低了打包出错的概率,提高了打包效率。
本发明实施例提供一种跨平台打包程序的方法,包括:
打包引擎模块接收用户展示模块的打包信息,所述打包信息包括用户选择的平台信息和配置信息;
所述打包引擎模块从主线文件库中获取所述平台信息对应的主线文件,根据配置信息对所述主线文件进行修改后,对修改后的主线文件进行打包和签名;所述主线文件库包括各平台的主线文件;所述主线文件包括程序运行时配置文件、程序运行时资源文件、打包配置文件和用于打包的编译后中间文件;
在完成打包签名后,所述打包引擎模块向所述用户展示模块返回打包签名完成响应。
本发明实施例提供一种跨平台打包程序的装置,包括:
用户展示模块和打包引擎模块;
所述用户展示模块,用于接收用户选择的打包信息并向所述打包引擎模块发送所述打包信息;所述打包信息包括用户选择的平台信息和配置信息;
所述打包引擎模块,用于从主线文件库中获取所述平台信息对应的主线文件,根据配置信息对所述主线文件进行修改后,对修改后的主线文件进行打包和签名;所述主线文件库包括各平台的主线文件;所述主线文件包括程序运行时配置文件、程序运行时资源文件、打包配置文件和用于打包的编译后中间文件;在完成打包签名后,所述打包引擎模块向所述用户展示模块返回打包签名完成响应。
本发明实施例的跨平台打包程序的方法及装置,在跨平台打包程序的过程中,打包引擎模块根据用户选择的平台信息,从主线文件库中获取平台信息对应的主线文件。主线文件包括程序运行时配置文件、程序运行时资源文件、打包配置文件和用于打包的编译后中间文件。打包引擎模块根据用户选择的配置信息对获取到的主线文件进行修改后,对主线文件进行打包和签名。在打包过程中用户不需要用户自行修改配置文件,也不需要用户自行修改运行时配置文件,也不需要用户自行拷贝运行时资源文件,因此不需要用户熟悉各平台的集成开发环境和打包原理的缺陷,降低了打包出错的概率,提高了打包效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种跨平台打包程序的方法流程图;
图2A为图1中步骤12的一种具体流程图;
图2B为图1中步骤12的另一种具体流程图;
图3为本发明实施例提供的又一种跨平台打包程序的方法流程图;
图4为本发明实施例提供的再一种跨平台打包程序的方法流程图;
图5为本发明实施例提供的一种跨平台打包程序的装置结构示意图;
图6为本发明实施例提供的另一种跨平台打包程序的装置结构示意图;
图7为本发明实施例提供的又一种跨平台打包程序的装置结构示意图;
图8为本发明实施例提供的再一种跨平台打包程序的装置结构示意图;
图9为本发明实施例提供的还一种跨平台打包程序的装置结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种跨平台打包程序的方法流程图。如图1所示,本实施例包括:
步骤11:打包引擎模块接收用户展示模块的打包信息,所述打包信息包括用户选择的平台信息和配置信息。
本发明实施例中平台为程序运行的操作系统,例如Kjava、Symbian和WM(Windows Mobile)等。其中,Kjava为Kjava手机操作系统,Symbian为Nokia智能手机的操作系统,WM为微软智能手机的操作系统。
用户通过用户展示模块选择待打包程序对应的平台,并选择与打包相关的配置信息。配置信息主要包括运营商的信息,网络和接入点信息、服务器地址、支持的语言、分辨率和应用程序支持的功能等。
步骤12:所述打包引擎模块从主线文件库中获取所述平台信息对应的主线文件,根据配置信息对所述主线文件进行修改后,对修改后的主线文件进行打包和签名。
本发明实施例建立了包括有各平台主线文件的主线文件库。每个平台对应有各自的主线文件,主线文件为针对不同运营商需求定制的不同安装包的基线文件。每个主线文件包括:程序运行时配置文件、程序运行时资源文件、打包配置文件和用于打包的编译后中间文件。其中,用于打包的编译后中间文件为由平台的编译器对待打包程序编译后连接生成的中间文件,例如xxx.exe、xxx.dll等文件;打包配置文件为制作各平台应用程序安装包所需要的配置文件,例如Symbian的PKG文件;程序运行时配置文件为程序运行期间需要读取的配置文件,例如包括支持的语言、服务器地址、接入点等的文件;程序运行时资源文件为需要打包到安装文件中的资源文件,例如包括应用程序图片、语言、皮肤等的文件。
打包引擎模块接收到打包信息后,根据其中的平台信息确定待打包程序对应的平台,先从主线文件库获取对应平台的主线文件。获取主线文件后,打包引擎模块根据用户选择的配置信息对获取的主线文件进行修改。主线文件中编译后中间文件和运行时资源文件不需要修改,只需根据具体配置信息修改运行时配置文件和/或打包配置文件。打包引擎模块将修改后的主线文件中程序运行时配置文件、程序运行时资源文件、打包配置文件和用于打包的编译后中间文件一起集成到安装包,最后进行签名。
步骤13:在完成打包签名后,打包引擎模块向所述用户展示模块返回打包签名完成响应。
本发明实施例在跨平台打包程序的过程中,打包引擎模块根据用户选择的平台信息,从主线文件库中获取平台信息对应的主线文件。主线文件包括程序运行时配置文件、程序运行时资源文件、打包配置文件和用于打包的编译后中间文件。打包引擎模块根据用户选择的配置信息对获取到的主线文件进行修改后,对主线文件进行打包和签名。因此,用户打包引擎模块可根据用户的需求,对同一程序定制不同平台的安装包。由于在打包过程中用户不需要用户自行修改配置文件,也不需要用户自行修改运行时配置文件,也不需要用户自行拷贝运行时资源文件,因此用户不需要熟悉各平台的集成开发环境和打包原理的缺陷,降低了打包出错的概率,提高了打包效率。另外,本发明实施例提供的跨平台打包程序的方法,提供了包括不同平台主线文件的主线文件库,在打包同一平台的程序时,只需要根据用户配置信息修改同一个主线文件,避免了现有技术中针对不同需求需维护不同的版本,
进一步,每个平台对应有各自的平台执行单元。平台执行单元为相应平台集成开发环境中获取并修改相关配置文件的可执行文件。每个平台还对应有各自的平台打包单元。平台执行单元为相应平台集成开发环境中的打包和签名可执行文件。打包引擎模块可通过调用不同平台的平台执行单元和平台打包单元实现打包。具体调用过程参见图2A和图2B的描述。
图2A为图1中步骤12的一种具体流程图。如图2A所示,步骤12包括:
步骤121A:所述打包引擎模块加载与所述平台信息对应的平台执行单元并向所述平台执行单元发送文件修改调用指示;
步骤122A:所述平台执行单元接收到文件修改调用指示后,获取所述平台信息对应的主线文件,并根据配置信息对所述主线文件进行修改;
步骤123A:所述打包引擎模块加载与所述平台信息对应的平台打包单元并向所述平台打包单元发送集成调用指示;
步骤124A:所述平台打包单元接收到集成调用指示后,对修改后的主线文件进行打包和签名。
图2B为图1中步骤12的另一种具体流程图。图2B与图2A的区别在于:图2A中打包引擎模块先调用平台执行单元获取并修改主线文件后,后调用平台打包单元对修改后主线文件进行打包;而图2B中打包引擎模块调用平台执行单元进行打包,平台执行单元获取并修改主线文件后,由平台执行单元调用平台打包单元对修改后主线文件进行打包。如图2B所示,步骤12包括:
步骤121B:所述打包引擎模块加载与所述平台信息对应的平台执行单元并向所述平台执行单元发送打包调用指示。
步骤122B:所述平台执行单元接收到打包调用指示后,获取所述平台信息对应的主线文件,根据配置信息对所述主线文件进行修改。
步骤123B:平台执行单元对所述主线文件进行修改后,向所述平台信息对应的平台打包单元发送集成调用指示。
步骤124B:所述平台打包单元接收到集成调用指示后,对修改后的主线文件进行打包和签名。
在图2A和图2B对应实施例中,由于打包引擎模块只集成了各平台集成开发环境中与打包和签名相关的可执行文件,与整个集成开发环境相比,打包引擎模块的体积比较小。
图3为本发明实施例提供的又一种跨平台打包程序的方法流程图。在本实施例中用户先通过用户展示模块选择平台信息,打包引擎模块根据用户选择的平台信息加载与对应的平台执行单元和平台打包单元。之后。用户再通过用户展示模块选择配置信息,打包引擎模块再调用平台执行单元对获取的主线文件进行修改并打包。如图3所示,本实施例包括:
步骤31:打包引擎模块接收所述用户展示模块发送的平台信息。
步骤32:打包引擎模块加载与所述平台信息对应的平台执行单元和平台打包单元。
具体地,打包引擎模块加载与所述平台信息对应的平台执行单元的脚本,并加载与所述平台信息对应的平台打包单元的脚本。
步骤33:打包引擎模块加载成功后,向所述用户展示模块返回选择成功响应。
步骤34:打包引擎模块接收所述用户展示模块发送的打包请求,所述打包请求包括所述配置信息。
步骤35:打包引擎模块向上述平台执行单元发送文件修改调用指示。
打包引擎模块向步骤32中加载的平台执行单元发送文件修改调用指示。以下平台执行单元均步骤32中加载的平台执行单元。
步骤36:平台执行单元接收到文件修改调用指示后,先获取所述平台信息对应的主线文件再根据所述配置信息对所述平台信息对应的主线文件进行修改。
步骤37:平台执行单元向所述平台打包单元发送集成调用指示。
另外,平台执行单元对所述平台信息对应的主线文件进行修改后,也可由打包引擎模块向步骤32中加载的平台打包单元发送集成调指示。
步骤38:平台打包单元接收到集成调用指示后,对修改后的主线文件进行打包和签名。
步骤39:平台打包单元完成打包签名后,向平台执行单元返回打包签名完成响应,平台执行单元向打包引擎模块返回打包签名完成响应。
步骤310:打包引擎模块向用户展示模块返回打包签名完成响应。
本发明实施例,针对不同运营商的需求,可先发布主线文件和打包引擎模块。用户可通过打包引擎针对不同的需求进行快速打包,而现有技术中例既使相关配置改动极小也必须由开发者操作集成开发环境来完成打包,因此本发明实施例提高了打包的效率。
图4为本发明实施例提供的再一种跨平台打包程序的方法流程图。图4为图3的具体实施方式,图4以跨平台打包手机电视客户端程序为例说明。如图4所示,本实施例包括:
步骤41:打包引擎模块接收用户展示模块发送的Symbian平台信息。
用户通过用户展示模块选择手机电视客户端对应的平台为Symbian。用户选择后由用户展示模块向打包引擎模块发送用户选择的平台。用户展示模块和打引擎模块的交互可以采用一种自定义的协议。
步骤42:打包引擎模块加载与Symbian平台对应的平台执行单元和平台打包单元。
步骤43:打包引擎模块加载成功后,向用户展示模块返回选择成功响应。
步骤44:打包引擎模块接收用户展示模块发送的打包请求,打包请求包括所述配置信息。
用户通过用户展示模块选择手机电视客户端的相关配置信息。用户在用户展示模块中根据需求设置具体的配置项,如手机内核版本、分辨率、支持的语言;运营商的名称、1ogo、服务器地址;手机电视客户端支持的功能,例如是否支持DRM、是否支持边下载边播放等。
步骤45:打包引擎模块向Symbian平台对应的平台执行单元发送文件修改调用指示。
步骤46:Symbian平台对应的平台执行单元从主线文件库中获取Symbian平台的打包配置文件。
步骤47:Symbian平台对应的平台执行单元,根据配置信息修改Symbian平台的打包配置文件。
打包配置文件的修改主要包括:支持的语言、平台的ID、运营商的本地化名称和非本地化名称等。
步骤48:Symbian平台对应的平台执行单元从主线文件库中获取Symbian平台的程序运行时配置文件。
步骤49:Symbian平台对应的平台执行单元,根据配置信息修改Symbian平台的程序运行时配置文件。
电视客户端运行时配置文件主要需要修改服务器的地址、接入点信息、语言、该软件支持的功能,例如是否支持DRM、边下载边播放等功能。
步骤410:Symbian平台对应的平台执行单元从主线文件库中获取Symbian平台的程序运行时资源文件。
手机电视客户端运行时资源文件包括运营商的logo图片、登录界面的相关图片,播放和下载界面需要安装包提供相关分辨率的图片,以及软件支持的语言文件,相关分辨率下的手机界面图片等。
步骤411:Symbian平台对应的平台执行单元从主线文件库中获取Symbian平台的编译后中间文件。
步骤412:Symbian平台对应的平台执行单元向Symbian平台对应的平台打包单元发送集成调用指示。
步骤413:Symbian平台对应的平台打包单元接收到集成调用指示后,对修改后的主线文件进行打包和签名。
步骤414:Symbian平台对应的平台打包单元完成打包签名后,向Symbian平台对应的平台执行单元返回打包签名完成响应,之后向打包引擎模块返回打包签名完成响应。
步骤415:打包引擎模块向用户展示模块返回打包签名完成响应。
本实施例中,用户只需通过用户展示模块选择平台信息和配置信息,不需要关心针对具体的配置项需要修改哪些文件,以及打包过程的具体实现细节,因此提高了打包的速率,降低了出错的概率。
图5为本发明实施例提供的一种跨平台打包程序的装置结构示意图。如图5所示,本实施例包括:用户展示模块51和打包引擎模块52。
所述用户展示模块51,用于接收用户选择的打包信息并向所述打包引擎模块发送所述打包信息;所述打包信息包括用户选择的平台信息和配置信息;
所述打包引擎模块52,用于接收到用户展示模块51的打包信息后,从主线文件库中获取所述平台信息对应的主线文件,根据配置信息对所述主线文件进行修改后,对修改后的主线文件进行打包和签名;在完成打包签名后,所述打包引擎模块向所述用户展示模块返回打包签名完成响应。
其中,主线文件库包括各平台的主线文件;所述主线文件包括程序运行时配置文件、程序运行时资源文件、打包配置文件和用于打包的编译后中间文件。
本实施例中各模块的工作机理参见图1对应实施例中描述,在此不再赘述。
本发明实施例跨平台打包程序的装置,在跨平台打包程序的过程中,打包引擎模块根据用户选择的平台信息,从主线文件库中获取平台信息对应的主线文件。主线文件包括程序运行时配置文件、程序运行时资源文件、打包配置文件和用于打包的编译后中间文件。打包引擎模块根据用户选择的配置信息对获取到的主线文件进行修改后,对主线文件进行打包和签名。因此,用户打包引擎模块可根据用户的需求,对同一程序定制不同平台的安装包。由于在打包过程中用户不需要用户自行修改配置文件,也不需要用户自行修改运行时配置文件,也不需要用户自行拷贝运行时资源文件,因此用户不需要熟悉各平台的集成开发环境和打包原理的缺陷,降低了打包出错的概率,提高了打包效率。另外,本发明实施例提供的跨平台打包程序的方法,提供了包括不同平台主线文件的主线文件库,在打包同一平台的程序时,只需要根据用户配置信息修改同一个主线文件,避免了现有技术中针对不同需求需维护不同的版本。
图6为本发明实施例提供的另一种跨平台打包程序的装置结构示意图。如图6所示,在图5基础上本实施例还包括:脚本执行模块53;所述脚本执行模块包括多个平台执行单元531和多个平台打包单元532。每个平台执行单元对应不同的平台,每个平台打包单元对应不同的平台。
如图6所示,打包引擎模块52包括第一接收单元521、第一加载单元522、第一调用单元523和第二调用单元524。
所述第一接收单元521,用于接收所述用户展示模块发送的所述打包信息;
所述第一加载单元522,用于所述第一接收单元接收到所述打包信息后,加载与所述平台信息对应的平台执行单元和平台打包单元。
所述第一调用单元523,用于所述第一加载单元加载后所述平台信息对应的平台执行单元和平台打包单元后,向所述平台执行单元发送文件修改调用指示。
所述平台执行单元531,用于接收到文件修改调用指示后,获取所述平台信息对应的主线文件,并根据配置信息对所述主线文件进行修改。
所述第二调用单元524,用于所述主线文件修改后,向所述平台打包单元发送集成调用指示。
所述平台打包单元532,用于接收到集成调用指示后,对修改后的主线文件进行打包和签名。
本实施例中各模块的工作机理参见图2A对应实施例中描述,在此不再赘述。
由于打包引擎模块只集成了各平台集成开发环境中打包和签名用可执行文件,与整个集成开发环境相比,打包引擎模块的体积比较小。
图7为本发明实施例提供的又一种跨平台打包程序的装置结构示意图。如图7所示,在图5基础上本实施例还包括:脚本执行模块53。所述脚本执行模块包括多个平台执行单元531和多个平台打包单元532。每个平台执行单元对应不同的平台,每个平台打包单元对应不同的平台。
所述打包引擎模块52包括第二接收单元525、第二加载单元526和第三调用单元527。
所述第二接收单元525,用于接收所述用户展示模块发送的所述打包信息。
所述第二加载单元526,用于所述第二接收单元接收到所述打包信息后,加载与所述平台信息对应的平台执行单元和平台打包单元。
第三调用单元527,用于所述第二加载单元加载后所述平台信息对应的平台执行单元和平台打包单元后,向所述平台执行单元发送文件修改调用指示。
所述平台执行单元531,用于接收到打包调用指示后,获取所述平台信息对应的主线文件,根据配置信息对所述主线文件进行修改,并向所述平台信息对应的平台打包单元发送集成调用指示。
所述平台打包单元532,用于接收到集成调用指示后,对修改后的主线文件进行打包和签名。
本实施例中各模块的工作机理参见图2B对应实施例中描述,在此不再赘述。
由于打包引擎模块只集成了各平台集成开发环境中打包和签名用可执行文件,与整个集成开发环境相比,打包引擎模块的体积比较小。
图8为本发明实施例提供的再一种跨平台打包程序的装置结构示意图。如图8所示,在图5基础上本实施例还包括:脚本执行模块53。所述脚本执行模块包括多个平台执行单元531和多个平台打包单元532。每个平台执行单元对应不同的平台,每个平台打包单元对应不同的平台。
如图8所示,用户展示模块51包括:第一展示单元511和第二展示单元512。所述打包引擎模块52包括第三接收单元81、第四接收单元82、第三加载单元83和第四调用单元84以及第五调用单元85。
所述第一展示单元511,用于将用户选择的平台信息发送给所述第二接收单元。
所述第三加载单元83,用于第三接收单元接收到平台信息后,加载与所述平台信息对应的平台执行单元和平台打包单元后,向所述第一展示单元返回选择成功响应。
所述第二展示单元512,用于接收用户选择的配置信息,并向所述第四接收单元发送包括所述配置信息的打包请求。
所述第四调用单元84,用于所述第四接收单元接收到所述打包请求后,向所述平台执行单元发送文件修改调用指示。
所述平台执行单元531,用于接收到文件修改调用指示后,获取所述平台信息对应的主线文件后根据所述配置信息对所述主线文件进行修改;
所述第五调用单元85,用于所述主线文件修改后,向所述平台打包单元发送集成调用指示。
所述平台打包单元532,用于接收到集成调用指示后,对修改后的主线文件进行打包和签名。
本实施例中各模块的工作机理参见图3和图4对应实施例中描述,在此不再赘述。
本发明实施例,针对不同运营商的需求,可先发布主线文件和打包引擎模块。用户可通过打包引擎针对不同的需求进行快速打包,而现有技术中即使相关配置改动极小也必须由开发者操作集成开发环境进行打包,提供了打包的效率。
图9为本发明实施例提供的还一种跨平台打包程序的装置结构示意图。如图9所示,在图5基础上本实施例还包括:脚本执行模块53。所述脚本执行模块包括多个平台执行单元531和多个平台打包单元532。每个平台执行单元对应不同的平台,每个平台打包单元对应不同的平台。
如图9所示,用户展示模块51包括:第一展示单元511和第二展示单元512。打包引擎模块52包括第五接收单元91、第六接收单元92、第四加载单元93和第六调用单元94。
所述第一展示单元511,用于将用户选择的平台信息发送给所述第二接收单元;
所述第四加载单元93,用于第五接收单元接收到平台信息后,加载与所述平台信息对应的平台执行单元和平台打包单元后,向所述第一展示单元返回选择成功响应;
所述第二展示单元512,用于接收用户选择的配置信息,并向所述第六接收单元发送包括所述配置信息的打包请求;
所述第六调用单元94,用于所述第六接收单元接收到所述打包请求后,向所述平台执行单元发送打包调用指示;
所述平台执行单元531,用于接收到打包调用指示后,获取所述平台信息对应的主线文件后根据所述配置信息对所述主线文件进行修改,并向所述平台打包单元发送集成调用指示;
所述平台打包单元532,用于接收到集成调用指示后,对修改后的主线文件进行打包和签名。
本实施例中各模块的工作机理参见图3和图4对应实施例中描述,在此不再赘述。
本实施例中,用户只需通过用户展示模块选择平台信息和配置信息,不需要关心针对具体的配置项需要修改哪些文件,以及打包过程的具体实现细节,因此提高了打包的速率,并降低了出错的概率。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种跨平台打包程序的方法,其特征在于,包括:
打包引擎模块接收用户展示模块的打包信息,所述打包信息包括用户选择的平台信息和配置信息;
所述打包引擎模块从主线文件库中获取所述平台信息对应的主线文件,根据配置信息对所述主线文件进行修改后,对修改后的主线文件进行打包和签名;所述主线文件库包括各平台的主线文件;所述主线文件包括程序运行时配置文件、程序运行时资源文件、打包配置文件和用于打包的编译后中间文件;
在完成打包签名后,所述打包引擎模块向所述用户展示模块返回打包签名完成响应。
2.根据权利要求1所述方法,其特征在于,所述打包引擎模块从主线文件库中获取所述平台信息对应的主线文件,根据配置信息对所述主线文件进行修改后,对修改后的主线文件进行打包和签名,包括:
所述打包引擎模块加载与所述平台信息对应的平台执行单元并向所述平台执行单元发送文件修改调用指示;
所述平台执行单元接收到文件修改调用指示后,获取所述平台信息对应的主线文件,并根据配置信息对所述主线文件进行修改;
所述打包引擎模块加载与所述平台信息对应的平台打包单元并向所述平台打包单元发送集成调用指示;
所述平台打包单元接收到集成调用指示后,对修改后的主线文件进行打包和签名。
3.根据权利要求1所述方法,其特征在于,所述打包引擎模块从主线文件库中获取所述平台信息对应的主线文件,根据配置信息对所述主线文件进行修改后,对修改后的主线文件进行打包和签名,包括:
所述打包引擎模块加载与所述平台信息对应的平台执行单元并向所述平台执行单元发送打包调用指示;
所述平台执行单元接收到打包调用指示后,获取所述平台信息对应的主线文件,根据配置信息对所述主线文件进行修改,并向所述平台信息对应的平台打包单元发送集成调用指示;
所述平台打包单元接收到集成调用指示后,对修改后的主线文件进行打包和签名。
4.根据权利要求1所述方法,其特征在于,所述打包引擎模块接收用户展示模块的打包信息,所述打包引擎模块从主线文件库中获取所述平台信息对应的主线文件,根据配置信息对所述主线文件进行修改后,对修改后的主线文件进行打包和签名,包括:
所述打包引擎模块接收所述用户展示模块发送的平台信息;
所述打包引擎模块加载与所述平台信息对应的平台执行单元和平台打包单元后,向所述用户展示模块返回选择成功响应;
所述打包引擎模块接收所述用户展示模块发送的打包请求,所述打包请求包括所述配置信息;
所述打包引擎模块向所述平台执行单元发送文件修改调用指示;
所述平台执行单元接收到文件修改调用指示后,获取所述平台信息对应的主线文件后根据所述配置信息对所述主线文件进行修改;
所述打包引擎模块向所述平台打包单元发送集成调用指示;
所述平台打包单元接收到集成调用指示后,对修改后的主线文件进行打包和签名。
5.根据权利要求1所述方法,其特征在于,所述打包引擎模块接收用户展示模块的打包信息,所述打包引擎模块从主线文件库中获取所述平台信息对应的主线文件,根据配置信息对所述主线文件进行修改后,对修改后的主线文件进行打包和签名,包括:
所述打包引擎模块接收所述用户展示模块发送的平台信息;
所述打包引擎模块加载与所述平台信息对应的平台执行单元和平台打包单元后,向所述用户展示模块返回选择成功响应;
所述打包引擎模块接收所述用户展示模块发送的打包请求,所述打包请求包括所述配置信息;
所述打包引擎模块向所述平台执行单元发送打包调用指示;
所述平台执行单元接收到打包调用指示后,获取所述平台信息对应的主线文件后根据所述配置信息对所述主线文件进行修改,并向所述平台打包单元发送集成调用指示;
所述平台打包单元接收到集成调用指示后,对修改后的主线文件进行打包和签名。
6.一种跨平台打包程序的装置,其特征在于,包括:用户展示模块和打包引擎模块;
所述用户展示模块,用于接收用户选择的打包信息并向所述打包引擎模块发送所述打包信息;所述打包信息包括用户选择的平台信息和配置信息;
所述打包引擎模块,用于从主线文件库中获取所述平台信息对应的主线文件,根据配置信息对所述主线文件进行修改后,对修改后的主线文件进行打包和签名;在完成打包签名后,所述打包引擎模块向所述用户展示模块返回打包签名完成响应;所述主线文件库包括各平台的主线文件;所述主线文件包括程序运行时配置文件、程序运行时资源文件、打包配置文件和用于打包的编译后中间文件。
7.根据权利要求6所述装置,其特征在于,还包括:脚本执行模块;所述脚本执行模块包括多个平台执行单元和多个平台打包单元;每个平台执行单元对应不同的平台,每个平台打包单元对应不同的平台;
所述打包引擎模块包括第一接收单元、第一加载单元、第一调用单元和第二调用单元;
所述第一接收单元,用于接收所述用户展示模块发送的所述打包信息;
所述第一加载单元,用于所述第一接收单元接收到所述打包信息后,加载与所述平台信息对应的平台执行单元和平台打包单元;
所述第一调用单元,用于所述第一加载单元加载后所述平台信息对应的平台执行单元和平台打包单元后,向所述平台执行单元发送文件修改调用指示;
所述平台执行单元,用于接收到文件修改调用指示后,获取所述平台信息对应的主线文件,并根据配置信息对所述主线文件进行修改;
所述第二调用单元,用于所述主线文件修改后,向所述平台打包单元发送集成调用指示;
所述平台打包单元,用于接收到集成调用指示后,对修改后的主线文件进行打包和签名。
8.根据权利要求6所述装置,其特征在于,还包括:脚本执行模块;所述脚本执行模块包括多个平台执行单元和多个平台打包单元;每个平台执行单元对应不同的平台,每个平台打包单元对应不同的平台;
所述打包引擎模块包括第二接收单元、第二加载单元和第三调用单元;
所述第二接收单元,用于接收所述用户展示模块发送的所述打包信息;
所述第二加载单元,用于所述第二接收单元接收到所述打包信息后,加载与所述平台信息对应的平台执行单元和平台打包单元;
第三调用单元,用于所述第二加载单元加载后所述平台信息对应的平台执行单元和平台打包单元后,向所述平台执行单元发送文件修改调用指示;
所述平台执行单元,用于接收到打包调用指示后,获取所述平台信息对应的主线文件,根据配置信息对所述主线文件进行修改,并向所述平台信息对应的平台打包单元发送集成调用指示;
所述平台打包单元,用于接收到集成调用指示后,对修改后的主线文件进行打包和签名。
9.根据权利要求6所述装置,其特征在于,还包括:脚本执行模块;所述脚本执行模块包括多个平台执行单元和多个平台打包单元;每个平台执行单元对应不同的平台,每个平台打包单元对应不同的平台;
所述用户展示模块包括:第一展示单元和第二展示单元;所述打包引擎模块包括第三接收单元、第四接收单元、第三加载单元和第四调用单元以及第五调用单元;
所述第一展示单元所述第三接收单元将用户选择的平台信息发送给所述第三接收单元;
所述第三接收单元,用于接收所述第一展示单元发送的平台信息;
所述第三加载单元,用于所述第三接收单元接收到平台信息后,加载与所述平台信息对应的平台执行单元和平台打包单元后,向所述第一展示单元返回选择成功响应;
所述第二展示单元,用于接收用户选择的配置信息,并向所述第四接收单元发送包括所述配置信息的打包请求;
所述第四接收单元,用于接收所述第二展示单元发送的包括有所述配置信息的打包请求;
所述第四调用单元,用于所述第四接收单元接收到所述打包请求后,向所述平台执行单元发送文件修改调用指示;
所述平台执行单元,用于接收到文件修改调用指示后,获取所述平台信息对应的主线文件后根据所述配置信息对所述主线文件进行修改;
所述第五调用单元,用于所述主线文件修改后,向所述平台打包单元发送集成调用指示;
所述平台打包单元,用于接收到集成调用指示后,对修改后的主线文件进行打包和签名。
10.根据权利要求6所述装置,其特征在于,还包括:脚本执行模块;所述脚本执行模块包括多个平台执行单元和多个平台打包单元;每个平台执行单元对应不同的平台,每个平台打包单元对应不同的平台;
所述用户展示模块包括:第一展示单元和第二展示单元;所述打包引擎模块包括第五接收单元、第六接收单元、第四加载单元和第六调用单元;
所述第一展示单元,用于将用户选择的平台信息发送给所述第二接收单元;
所述第五接收单元,用于接收所述第一展示单元发送的平台信息;
所述第四加载单元,用于所述第五接收单元接收到平台信息后,加载与所述平台信息对应的平台执行单元和平台打包单元后,向所述第一展示单元返回选择成功响应;
所述第二展示单元,用于接收用户选择的配置信息,并向所述第六接收单元发送包括所述配置信息的打包请求;
所述第六接收单元,用于接收所述第二展示单元发送的包括有所述配置信息的打包请求;
所述第六调用单元,用于所述第六接收单元接收到所述打包请求后,向所述平台执行单元发送打包调用指示;
所述平台执行单元,用于接收到打包调用指示后,获取所述平台信息对应的主线文件后根据所述配置信息对所述主线文件进行修改,并向所述平台打包单元发送集成调用指示;
所述平台打包单元,用于接收到集成调用指示后,对修改后的主线文件进行打包和签名。
CN201110141683.9A 2011-05-27 2011-05-27 跨平台打包程序的方法及装置 Expired - Fee Related CN102799444B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110141683.9A CN102799444B (zh) 2011-05-27 2011-05-27 跨平台打包程序的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110141683.9A CN102799444B (zh) 2011-05-27 2011-05-27 跨平台打包程序的方法及装置

Publications (2)

Publication Number Publication Date
CN102799444A true CN102799444A (zh) 2012-11-28
CN102799444B CN102799444B (zh) 2016-06-08

Family

ID=47198561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110141683.9A Expired - Fee Related CN102799444B (zh) 2011-05-27 2011-05-27 跨平台打包程序的方法及装置

Country Status (1)

Country Link
CN (1) CN102799444B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063668A (zh) * 2013-03-21 2014-09-24 深圳富泰宏精密工业有限公司 程序安装包签名系统及方法
WO2014187255A1 (zh) * 2013-08-01 2014-11-27 中兴通讯股份有限公司 应用打包装置及方法
CN104735173A (zh) * 2013-12-19 2015-06-24 方正国际软件(北京)有限公司 一种通过应用签名来携带服务相关信息的方法和系统
CN105590051A (zh) * 2015-11-18 2016-05-18 中国银联股份有限公司 用于可信执行环境的可信应用生成及安装方法
CN106201522A (zh) * 2016-07-12 2016-12-07 杭州华三通信技术有限公司 一种打包方法及装置
CN108132808A (zh) * 2016-12-01 2018-06-08 北京金山云网络技术有限公司 一种渠道包生成方法及装置
CN109753279A (zh) * 2017-11-02 2019-05-14 声达资讯股份有限公司 一种前端整合开发管理系统及其方法
CN110688137A (zh) * 2019-09-27 2020-01-14 支付宝(杭州)信息技术有限公司 应用交付方法和装置、存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266817B1 (en) * 2000-12-21 2007-09-04 Emc Corporation Method and system for creating packages for multiple platforms
US20080127170A1 (en) * 2006-08-29 2008-05-29 Oliver Goldman Software installation and support
WO2008154426A1 (en) * 2007-06-08 2008-12-18 Adobe Systems Incorporated Application execution and installation environment
CN101561762A (zh) * 2008-04-18 2009-10-21 鸿富锦精密工业(深圳)有限公司 软件安装程序打包系统及方法
CN101694624A (zh) * 2009-10-19 2010-04-14 中兴通讯股份有限公司 处理软件安装包光盘镜像文件的方法及装置
CN101866296A (zh) * 2010-06-30 2010-10-20 福建升腾资讯有限公司 基于Windows文件系统的安装包静默化方法及静默化工具
CN101984410A (zh) * 2010-11-12 2011-03-09 中兴通讯股份有限公司 软件安装包的生成、卸载方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266817B1 (en) * 2000-12-21 2007-09-04 Emc Corporation Method and system for creating packages for multiple platforms
US20080127170A1 (en) * 2006-08-29 2008-05-29 Oliver Goldman Software installation and support
WO2008154426A1 (en) * 2007-06-08 2008-12-18 Adobe Systems Incorporated Application execution and installation environment
CN101561762A (zh) * 2008-04-18 2009-10-21 鸿富锦精密工业(深圳)有限公司 软件安装程序打包系统及方法
CN101694624A (zh) * 2009-10-19 2010-04-14 中兴通讯股份有限公司 处理软件安装包光盘镜像文件的方法及装置
CN101866296A (zh) * 2010-06-30 2010-10-20 福建升腾资讯有限公司 基于Windows文件系统的安装包静默化方法及静默化工具
CN101984410A (zh) * 2010-11-12 2011-03-09 中兴通讯股份有限公司 软件安装包的生成、卸载方法及装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063668A (zh) * 2013-03-21 2014-09-24 深圳富泰宏精密工业有限公司 程序安装包签名系统及方法
CN104063668B (zh) * 2013-03-21 2018-07-27 深圳富泰宏精密工业有限公司 程序安装包签名系统及方法
WO2014187255A1 (zh) * 2013-08-01 2014-11-27 中兴通讯股份有限公司 应用打包装置及方法
CN104735173A (zh) * 2013-12-19 2015-06-24 方正国际软件(北京)有限公司 一种通过应用签名来携带服务相关信息的方法和系统
CN104735173B (zh) * 2013-12-19 2019-09-20 方正国际软件(北京)有限公司 一种通过应用签名来携带服务相关信息的方法和系统
CN105590051A (zh) * 2015-11-18 2016-05-18 中国银联股份有限公司 用于可信执行环境的可信应用生成及安装方法
CN105590051B (zh) * 2015-11-18 2018-10-23 中国银联股份有限公司 用于可信执行环境的可信应用生成及安装方法
CN106201522A (zh) * 2016-07-12 2016-12-07 杭州华三通信技术有限公司 一种打包方法及装置
CN108132808A (zh) * 2016-12-01 2018-06-08 北京金山云网络技术有限公司 一种渠道包生成方法及装置
CN109753279A (zh) * 2017-11-02 2019-05-14 声达资讯股份有限公司 一种前端整合开发管理系统及其方法
CN110688137A (zh) * 2019-09-27 2020-01-14 支付宝(杭州)信息技术有限公司 应用交付方法和装置、存储介质

Also Published As

Publication number Publication date
CN102799444B (zh) 2016-06-08

Similar Documents

Publication Publication Date Title
CN102799444A (zh) 跨平台打包程序的方法及装置
US7337436B2 (en) System and method for cross platform and configuration build system
US9665841B2 (en) Cross-platform application framework
JP5090169B2 (ja) プラットホーム独立の動的リンキング
EP1869924B3 (en) Method for providing contents for mobile communication terminal
CN107193544B (zh) 一种应用程序组件化开发方法及装置
CN106569869A (zh) 插件化打包方法及装置
US20100082556A1 (en) System and method for meta-data driven, semi-automated generation of web services based on existing applications
CN103443763B (zh) 包含对重写虚拟函数的调用的支持的isa桥接
JP6412276B2 (ja) 仮想マシン作成方法及び装置
CN110580183A (zh) 一种移动应用组件化实现方法
CN112181432B (zh) ReactNative框架中实现bundle的模块化打包处理的系统
CN104731622A (zh) 一种应用程序的加载方法、装置和移动终端
CN109857432A (zh) 一种游戏应用的热更新方法和装置
CN112035112A (zh) 应用程序开发方法、系统、介质和电子设备
US20040157593A1 (en) Modularization for J2ME platform implementation
CN107124446A (zh) 应用程序下载方法、服务器及终端
CN115016785B (zh) 一种用于多环境共用的前端项目打包方法及装置
CN1703675B (zh) 加速多媒体内容的方法和设备
KR20090121949A (ko) 모바일 콘텐츠 변환 방법 및 시스템
KR20090122703A (ko) 변환 프로그램 제공 서버 및 방법
CN110502251A (zh) 应用安装方法及装置
CN109976728A (zh) 一种原生应用程序的生成方法、装置、移动终端
CN111596959A (zh) 应用程序跨平台开发移植方法及装置
CN114416219B (zh) 系统函数调用方法、装置、电子设备及可读介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160608

Termination date: 20180527

CF01 Termination of patent right due to non-payment of annual fee