一种应用安装包生成方法、计算设备及存储介质与流程

文档序号:30623307发布日期:2022-07-02 05:20阅读:97来源:国知局
一种应用安装包生成方法、计算设备及存储介质与流程

1.本发明涉及应用开发领域,特别涉及一种应用安装包生成方法、计算设备及存储介质。


背景技术:

2.随着计算机技术的发展,人们越来越多的使用计算机完成各种各样的工作。目前不同计算机中往往包括不同架构的处理器,人们在计算机中使用应用程序时,一个计算机上的应用程序由于处理器架构不同,不能直接在另一架构处理器的计算机上使用。这给用户和开发人员带来很大的困扰。
3.现有技术中,如果开发应用时需要适配不同类型架构的处理器,就需要针对不同架构处理器单独开发对应的应用,十分不便。并且在开发应用过程中,如果对不同架构之间处理器对应用要求不够熟悉,往往会产生迁移报错,导致不同架构之间的应用迁移困难。
4.为此,需要一种新的应用安装包生成方法。


技术实现要素:

5.为此,本发明提供一种应用安装包生成方法,适于在服务器中执行,服务器与一个或多个客户端通信连接,方法包括步骤:当接收到客户端发送的安装包构建申请时,根据安装包构建申请确定构建信息和代码文件;根据构建信息和代码文件,确定代码文件的文件类型和原始架构类型;当代码文件的文件类型为源码时,根据构建信息和原始架构类型将代码文件进行编译,得到目标架构类型的可执行文件;根据述可执行文件生成应用安装包,并将应用安装包发送到客户端,以便客户端根据应用安装包安装应用。
6.可选地,在根据本发明的方法中,还包括步骤:当代码文件的文件类型为可执行文件时,根据构建信息确定目标编辑架构;判断原始架构类型与目标编译架构是否相同;若相同,则根据可执行文件生成应用安装包,并将应用安装包发送到客户端。
7.可选地,在根据本发明的方法中,还包括步骤:若不同,则将可执行文件进行反编译得到文件类型为源码的代码文件;根据目标编译架构和原始架构类型将该代码文件进行交叉编译,得到目标架构类型的可执行文件;根据可执行文件生成应用安装包,并将应用安装包发送到客户端。
8.可选地,在根据本发明的方法中,根据构建信息和代码文件,确定代码文件的文件类型和原始架构类型包括步骤:根据构建信息确定代码文件的文件类型;对代码文件进行解析确定代码文件的原始架构类型。
9.可选地,在根据本发明的方法中,根据构建信息和原始架构类型将代码文件进行编译,得到目标架构类型的可执行文件包括步骤:根据构建信息确定目标编译架构;判断原始架构类型与目标编译架构是否相同;若原始架构类型与目标编译架构不同,则根据目标编译架构和原始架构类型将代码文件进行交叉编译,得到目标编译架构的可执行文件。
10.可选地,在根据本发明的方法中,还包括步骤:对代码文件进行解析,确定代码文
件的依赖库;判断服务器是否支持依赖库;当代码文件的文件类型为源码,且服务器支持所述依赖库,根据构建信息和原始架构类型将代码文件进行编译。
11.可选地,在根据本发明的方法中,根据构建信息和原始架构类型将代码文件进行编译,得到目标架构类型的可执行文件还包括步骤:当对代码文件进行编译时编译失败,生成编译错误报告;根据编译错误报告确定解决方案列表;根据解决方案列表对代码文件重新进行编译。
12.可选地,在根据本发明的方法中,服务器中包括解决方案模版库,编译错误报告包括代码文件编译失败的报错码,根据编译错误报告确定解决方案列表包括步骤:根据报错码在解决方案模版库中查找解决方案模版;将查找到的解决方案模版作为解决方案列表中的解决方案。
13.可选地,在根据本发明的方法中,服务器中包括解决方案数据库,解决方案数据库中包括多条历史编译错误报告和对应的历史解决方案,方法还包括步骤:根据编译错误报告中的错误关键词在解决方案数据库中查找历史编译错误报告;将查找到的一条或多条历史编译错误报告对应的历史解决方案作为解决方案列表中的解决方案。
14.可选地,在根据本发明的方法中,编译错误报告中还包括当前编译环境,方法还包括步骤:根据当前编译环境和代码文件确定目标编译环境;将当前编译环境更换为目标编译环境作为解决方案,加入到解决方案列表。
15.可选地,在根据本发明的方法中,根据解决方案列表对代码文件重新进行编译包括步骤:对解决方案列表中每个解决方案确定方案分值;根据每个解决方案的方案分值对解决方案列表中解决方案进行排序,得到排序后的解决方案列表;根据排序后的解决方案列表选择解决方案对代码文件进行重新编译。
16.可选地,在根据本发明的方法中,根据排序后的解决方案列表选择解决方案对代码文件进行重新编译包括步骤:根据选择的解决方案对代码文件进行重新编译时,若编译成功则提高该解决方案的方案分值;若编译失败则降低该解决方案的方案分值,并从解决方案列表中选择下一条解决方案对代码进行重新编译。
17.可选地,在根据本发明的方法中,服务器中运行有操作系统,根据所述可执行文件生成应用安装包包括步骤:根据服务器中运行的操作系统对可执行文件进行重构得到应用安装包。
18.可选地,在根据本发明的方法中,根据安装包构建申请确定构建信息和代码文件包括步骤:判断安装包构建申请中是否包括用户在客户端提交的代码文件;若安装包构建申请中不包括代码文件,则根据构建信息确定代码文件的下载地址;根据下载地址获取代码文件。
19.根据本发明的另一个方面,提供了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本发明的应用安装包生成方法。
20.根据本发明的再一个方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,该指令当由计算设备执行时,使得计算设备执行根据本发明的应用安装包生成方法。
21.本发明公开了一种应用安装包生成方法,适于在服务器中执行。服务器与一个或
多个客户端通信连接,本发明能够当接收到客户端发送的安装包构建申请时,确定构建信息和代码文件。随后根据构建信息和代码文件,确定代码文件的文件类型和原始架构类型,当代码文件的文件类型为源码时,根据构建信息和原始架构类型将代码文件进行编译,得到目标架构类型的可执行文件。实现将代码文件从一种架构类型进行迁移,适配不同架构类型。本发明中开发人员只需开发一种架构的代码文件,就能够实现适配一种或多种需要的架构类型的处理器,提高应用开发效率,减少开发人员工作量。开发人员在客户端提交安装包构建申请后,通过服务器下发的应用安装包就能直接在目标架构处理器的计算机中安装和运行应用。
附图说明
22.为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本发明公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
23.图1示出了根据本发明一个示范性实施例的客户端与服务器通信连接的示意图;
24.图2示出了根据本发明一个示范性实施例的计算设备200的结构框图;
25.图3示出了根据本发明一个示范性实施例的应用安装包生成方法300的流程示意图;以及
26.图4示出了根据本发明一个示范性实施例的生成应用安装包的示意图。
具体实施方式
27.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。相同的附图标记通常指代相同的部件或元素。
28.图1示出了根据本发明一个示范性实施例的客户端与服务器通信连接的示意图。如图1所示,服务器100与客户端110~130通信连接。图1所示的服务器100所连接的客户端数量以及连接方式仅为示例性的,本发明对服务器100所连接的客户端数量和连接方式不做限制。
29.图1所示的服务器100与客户端110~130均可实现为一种计算设备。图2示出了根据本发明一个示范性实施例的计算设备200的结构框图。如图2所示,在基本配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
30.取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μp)、微控制器(μc)、数字信息处理器(dsp)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(alu)、浮点数单元(fpu)、数字信号处理核心(dsp核心)或者它们的任何组合。示例的存储器控制器218可以与处理器
204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
31.取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个程序222以及程序数据228。在一些实施方式中,程序222可以布置为在操作系统上由一个或者多个处理器204利用程序数据228执行根据本发明的方法300的指令223。
32.计算设备200还可以包括储存接口总线234。储存接口总线234实现了从储存设备232(例如,可移除储存器236和不可移除储存器238)经由总线/接口控制器230到基本配置202的通信。操作系统220、程序222以及数据224的至少一部分可以存储在可移除储存器236和/或不可移除储存器238上,并且在计算设备200上电或者要执行程序222时,经由储存接口总线234而加载到系统存储器206中,并由一个或者多个处理器204来执行。
33.计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个a/v端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外围接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个i/o端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为以便经由一个或者多个通信端口264与一个或者多个其他计算设备200通过网络通信链路的通信。
34.网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(rf)、微波、红外(ir)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
35.在根据本发明的设备200中,程序222包括应用安装包生成方法300的多条程序指令,这些程序指令可以指示处理器204执行本发明的计算设备200中运行的应用安装包生成方法300中的部分步骤,以便计算设备200中的各部分通过执行本发明的应用安装包生成方法300来在实现在服务器中生成应用的安装包。
36.计算设备200可以实现为服务器,例如文件服务器、数据库、服务器、应用程序服务器等,这些电子设备可以是诸如个人数字助理(pda)、无线网络浏览设备、应用专用设备、或者可以包括上面任何功能的混合设备。可以实现为包括桌面计算机和笔记本计算机配置的个人计算机,也在一些实施例中,计算设备200被配置为应用安装包生成方法300。
37.图3示出了根据本发明一个示范性实施例的应用安装包生成方法300的流程示意图。如图3所示,首先执行步骤s310,当接收到客户端发送的安装包构建申请时,根据安装包构建申请确定构建信息和代码文件。
38.客户端的安装包构建申请可由操作客户端的开发人员发起,用于构建目标架构类
型的应用安装包。安装包构建申请中携带有构建信息,客户端对安装包构建申请进行解析能够得到应用安装包的构建信息。客户端向开发人员提供发起安装包构建申请的界面,界面可实现在浏览器中或者作为应用界面。本发明对发起安装包构建申请的界面的界面类型和界面样式不做限制。根据本发明的一个实施例,发起安装包构建申请的界面可通过html或js语言编写,本发明对界面的构建方式不做限制。
39.开发人员在发起安装包构建申请时,通过发起安装包构建申请的界面输入构建信息。开发人员输入的构建信息包括文件类型。根据本发明的一个实施例,客户端在接受到开发人员输入的构建信息后,根据输入的构建信息生成包括构建信息的json表,打包得到安装包构建申请,发送给服务器。服务器在接收到安装包构建申请后,对json表进行解析得到构建信息。
40.开发人员在发起安装包构建申请时,还提交代码文件。代码文件即为用于生成应用安装包的文件。构建信息即为代码文件生成应用安装包的构建信息,文件类型即为代码文件的文件类型。
41.若开发人员在发起安装包构建申请时,没有直接提交代码文件,则在输入构建信息时,输入代码文件的下载地址。代码文件的下载地址即为存储代码文件的位置,可具体为服务器的本地地址或服务器所连接网络的网络地址。构建信息中还包括代码文件的下载地址,服务器根据安装包构建申请确定构建信息和代码文件时,判断安装包构建申请中是否包括用户在客户端提交的代码文件;若安装包构建申请中不包括代码文件,则根据构建信息确定代码文件的下载地址,再根据下载地址获取代码文件。
42.根据本发明的一个实施例,构建信息中还包括应用名称、用于标识应用的应用包名、对应用进行分类以便分类显示应用的应用分类以及介绍应用信息的应用介绍,本发明对构建信息中信息种类和数量不做限制。安装包构件申请中还包括用于对应用进行展示的应用图标,以便安装应用时对应用进行标识及展示。
43.根据本发明的一个实施例,每个开发人员均有一个开发账户,服务器在收到客户端的安装包构建申请后,对开发人员的用户身份进行验证,使安装包构建申请与开发账户相对应。若开发人员未登录,则让开发人员登录,以便安装包构建申请与开发账户相关联,通过开发账户对开发人员的安装包构建申请进行管理。
44.随后,执行步骤s320,根据构建信息和代码文件,确定代码文件的文件类型和原始架构类型。具体的,根据构建信息确定代码文件的文件类型,代码文件的文件类型包括源码和可执行文件。随后对代码文件进行解析确定代码文件的原始架构类型。代码文件的原始架构类型即为代码文件所适配的处理器的架构类型,如arm架构等。
45.根据本发明的一个实施例,确定代码文件的文件类型和原始架构类型后,还对代码文件进行解析,确定代码文件的依赖库。依赖库即为代码文件所依赖的一个或多个库文件,接着判断服务器是否支持依赖库。当代码文件的文件类型为源码,且服务器支持依赖库,则继续执行步骤s330,根据构建信息和原始架构类型将代码文件进行编译。服务器支持依赖库是指服务器中包括代码文件所依赖的库文件。若服务器中不包括代码文件所依赖的库文件,则服务器不支持依赖库。当服务器不支持依赖库时,服务器从本地或网络中获取代码文件所依赖的库文件,以便在编译代码文件时,编译并安装依赖库。
46.随后,执行步骤s330,当代码文件的文件类型为源码时,根据构建信息和原始架构
类型将代码文件进行编译,得到目标架构类型的可执行文件。源码即为未编译的按照一定的程序设计语言规范书写的文本文件,为开发人员撰写的原始代码。
47.根据本发明的一个实施例,在服务器中可构建多个容器,每个容器用于编译特定架构类型的代码文件。在编译源码时,将源码发送到相应的容器进行编译。并且服务器构建多个容器,能够同时处理多项安装包生成任务,提高并行服务能力。
48.构建信息中还包括开发人员输入的目标编译架构,目标编译架构即为开发人员通过服务器对代码文件进行处理,想到得到应用安装包的架构类型,以便适配包括该架构类型处理器的计算机,在其中安装并运行应用。对文件类型为源码的代码文件进行编译时,先根据构建信息确定目标编译架构;随后判断原始架构类型与目标编译架构是否相同,若原始架构类型与目标编译架构不同,则根据目标编译架构和原始架构类型将所述代码文件进行交叉编译,得到目标编译架构的可执行文件。交叉编译是指,编译出来的程序能运行在体系结构不同的另一种目标平台上。通过对文件类型为源码的代码文件进行交叉编译,能够得到目标编译架构的可执行文件。
49.根据本发明的一个实施例,当代码文件的文件类型为可执行文件时,根据构建信息确定目标编辑架构,判断原始架构类型与目标编译架构是否相同,若相同,则根据可执行文件生成应用安装包,并将应用安装包发送到客户端。可执行文件即为可以由操作系统进行加载执行的文件。若代码文件为经过编译的可执行文件,且被编译的原始架构类型与目标编译架构相同,则不需要对该代码文件进行重新编译,直接根据代码文件生成应用安装包。
50.若原始架构类型与目标编译架构不同,则将可执行文件进行反编译得到文件类型为源码的代码文件。代码文件若为已经编译的可执行文件,但被编译的文件方式不符合目标编译架构,则需要对该可执行文件进行反编译得到源码类型的代码文件。反编译是指将可执行文件进行反向编译得到源码。随后根据目标编译架构和原始架构类型将该代码文件进行交叉编译,得到目标架构类型的可执行文件,再根据可执行文件生成应用安装包,并将应用安装包发送到客户端。
51.根据本发明的一个实施例,再将代码文件进行编译或交叉编译,得到目标架构类型的可执行文件时,当所述代码文件进行编译时编译失败,先生成编译错误报告。
52.生成编译错误报告时,获取编译失败的报错码,当前编译环境,编译过程等信息,根据编译失败的错误码,当前编译环境,编译过程等信息生成编译错误报告。
53.接着根据编译错误报告确定解决方案列表,根据解决方案列表对代码文件重新进行编译。解决方案列表中包括一条或多条解决方案。解决方案列表中的解决方案包括多种生成方式。服务器中包括解决方案模版库,编译错误报告包括代码文件编译失败的错误码。解决方案模版库中预先存储有多条解决方案模版,每个解决方案模版对应一个编译失败的报错码。当编译出错时,根据编译失败的报错码即可从解决方案模版库中查找对应的解决方案模版。解决方案模版具体可作为一种解决方案,如更换编译器,更换特定依赖库等,开发人员可根据实际编译情况设置报错码对应的解决方案模版,构建解决方案模版库。根据编译错误报告确定解决方案列表包括步骤:根据报错码在解决方案模版库中查找解决方案模版,再将查找到的解决方案模版作为解决方案列表中的解决方案。
54.根据本发明的一个实施例,服务器中还包括解决方案数据库,解决方案数据库中
包括多条历史编译错误报告和对应的历史解决方案。历史编译错误报告为过往编译源码时,若发现编译出错,则将这次编译出错生成的编译错误报告和对应的解决方案存储到解决方案数据库中,以便后续编译出错时复用相应的解决方案。根据编译错误报告确定解决方案列表还包括步骤:根据编译错误报告中的错误关键词在解决方案数据库中查找历史编译错误报告,将查找到的一条或多条历史编译错误报告对应的历史解决方案作为解决方案列表中的解决方案。编译错误报告中的错误关键词从编译错误报告中提取得到,具体包括当前编译环境、目标编译环境、使用的编译器等。本发明对错误关键词的类型不做限制。
55.根据本发明的一个实施例,根据编译错误报告确定解决方案列表还包括步骤:根据当前编译环境和代码文件确定目标编译环境,将当前编译环境更换为目标编译环境作为解决方案,加入到解决方案列表。由于编译环境对编译是否成功具有较大影响,因此在生成解决方案时,将当前编译环境更换为目标编译环境作为一条解决方案,加入解决方案列表,以便备选,帮助解决编译失败的问题。目标编译环境为适于编译该代码文件的编译环境。
56.接着根据解决方案列表对代码文件重新进行编译;具体的,先对解决方案列表中每个解决方案确定方案分值;随后根据每个解决方案的方案分值对解决方案列表中解决方案进行排序,得到排序后的解决方案列表;最后根据排序后的解决方案列表选择解决方案对代码文件进行重新编译。
57.对解决方案列表中每个解决方案确定方案分值时,可根据解决方案在过往解决编译失败问题的次数确定分值,例如将当前编译环境更换为目标编译环境解决了7次编译失败的问题,则可确定其方案分数为70分。本发明对确定方案分值的具体方式不做限制。
58.根据每个解决方案的方案分值对解决方案列表中解决方案进行排序时,根据每个解决方案的方案分值从大到小进行排序,将方案分值大的解决方案排在解决方案列表的前面。排序后的解决方案列表中第一个解决方案其方案分值最大。
59.根据排序后的解决方案列表选择解决方案对所述代码文件进行重新编译时,从解决方案列表中依次选择解决方案,优先试用方案分值最大的解决方案。根据选择的解决方案对代码文件进行重新编译时,若编译成功则提高该解决方案的方案分值,若编译失败则降低该解决方案的方案分值,并从解决方案列表中选择下一条解决方案对代码进行重新编译。根据上述解决编译失败的步骤,在经过多次成功处理编译失败的问题后,能够遴选出较为有用的解决方案,提高解决失败问题的效率。
60.根据本发明的一个实施例,编译失败的代码文件,生成编译错误报告:
[0061][0062]
根据报错码72,匹配到解决方案模板could not find a package configuration file provided by,此模板标识确实某一项依赖库文件,识别缺少的依赖名称kf5libkdepim,在系统源中寻找对应的依赖库文件libkf5libkdepim-dev安装,再次进行编
译。若编译成功,则提高该解决方案的方案分数。
[0063]
最后,执行步骤s340,根据可执行文件生成应用安装包,并将应用安装包发送到客户端,以便客户端根据应用安装包安装应用。根据可执行文件生成应用安装包时,根据服务器中运行的操作系统对可执行文件进行重构得到应用安装包。根据本发明的一个实施例,服务器中运行有操作系统,对可执行文件进行重构包括根据服务器中运行的操作系统对可执行文件的文件结构进行调整等操作,根据可执行文件生成适合于在操作系统中安装应用的应用安装包。服务器中还可构建多个容器,每个容器中运行有不同的操作系统,在不同容器中根据可执行文件可生成适合于不同操作系统的应用安装包。本发明中对操作系统的种类及重构的方式不做限制。
[0064]
图4示出了根据本发明一个示范性实施例的生成应用安装包的示意图。如图4所示,由客户端110发起安装包构建申请。服务器100在接收到安装包构建申请后对安装包构建申请进行解析,获得构建信息和代码文件。随后对代码文件进行评估,确定依赖文件的依赖库,若服务器中包括依赖文件的依赖库,则继续对代码文件进行编译等操作。若代码文件为可执行文件且符合目标编译架构,则直接根据可执行文件生成应用安装包。若代码文件为源码,则对代码文件先进性编译再生成应用安装包。
[0065]
根据本发明的一个实施例,服务器中包括多个用于测试的容器。服务器在生成应用安装包后,将应用安装包发送到包括适于处理该应用安装包的操作系统的容器中,对该应用安装包进行测试。若该应用安装包通过测试,则将该应用安装包发送到客户端,以便客户端根据应用安装包安装和运行应用。
[0066]
根据本发明的一个实施例,构建信息中开包括开发者信息,开发者信息中包括开发人员名称和邮箱地址等。当应用安装包构建完成,或编译失败,以及由于缺少依赖库不能编译时,根据开发者信息向开发人员发送应用迁移报告,通知开发人员安装包已经生成或迁移失败原因。根据本发明的一个实施例,当应用安装包构建完成时,调用通过python pypdf2模块生成pdf报告,采用调用smtp模块向用户发送邮件。若应用安装包构建完成,则应用迁移包括中包括通知开发人员安装包已经构建完成的消息。若应用安装包构建失败,则告知开发人员由于编译失败或缺少依赖库不能编译,导致编译失败,便于开发人员对其处理,再次进行编译生成应用安装包。
[0067]
本发明公开了一种应用安装包生成方法,适于在服务器中执行。服务器与一个或多个客户端通信连接,本发明能够当接收到客户端发送的安装包构建申请时,确定构建信息和代码文件。随后根据构建信息和代码文件,确定代码文件的文件类型和原始架构类型,当代码文件的文件类型为源码时,根据构建信息和原始架构类型将代码文件进行编译,得到目标架构类型的可执行文件。实现将代码文件从一种架构类型进行迁移,适配不同架构类型。本发明中开发人员只需开发一种架构的代码文件,就能够实现适配一种或多种需要的架构类型的处理器,提高应用开发效率,减少开发人员工作量。开发人员在客户端提交安装包构建申请后,通过服务器下发的应用安装包就能直接在目标架构处理器的计算机中安装和运行应用。
[0068]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0069]
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。
[0070]
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组间可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
[0071]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组间组合成一个模块或单元或组间,以及此外可以把它们分成多个子模块或子单元或子组间。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0072]
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
[0073]
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
[0074]
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、cd-rom、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
[0075]
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的应用安装包生成方法。
[0076]
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
[0077]
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
[0078]
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1