CN107357605A - 运行安装文件的方法和装置 - Google Patents

运行安装文件的方法和装置 Download PDF

Info

Publication number
CN107357605A
CN107357605A CN201710406104.6A CN201710406104A CN107357605A CN 107357605 A CN107357605 A CN 107357605A CN 201710406104 A CN201710406104 A CN 201710406104A CN 107357605 A CN107357605 A CN 107357605A
Authority
CN
China
Prior art keywords
file
business
installation file
module
program
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
Application number
CN201710406104.6A
Other languages
English (en)
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.)
Beijing Qunar Software Technology Co Ltd
Original Assignee
Beijing Qunar Software Technology 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 Beijing Qunar Software Technology Co Ltd filed Critical Beijing Qunar Software Technology Co Ltd
Priority to CN201710406104.6A priority Critical patent/CN107357605A/zh
Publication of CN107357605A publication Critical patent/CN107357605A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种运行安装文件的方法和装置。其中,该方法包括:基于业务类型将程序代码拆分为平台程序和至少一个业务程序,对平台程序进行编译得到平台安装文件;对至少一个业务程序中的每个业务程序分别进行编译,得到与每个业务程序相对应的业务安装文件,运行平台安装文件,并基于运行的平台安装文件加载并运行至少一个业务安装文件。本发明解决了现有技术中由于程序代码之间具有较强的耦合性导致的安装文件的运行和调试时间长、效率低的技术问题。

Description

运行安装文件的方法和装置
技术领域
本发明涉及计算机软件领域,具体而言,涉及一种运行安装文件的方法和装置。
背景技术
在软件开发的过程中,通常都是以团队的形式开发,对于一些大型的互联网公司,软件开发的团队的数量可能达几十个。虽然团队的数量很多,但这些团队开发的代码最终都会打包成一个安装文件,这个安装文件具有数量庞大的代码,由此,对整个安装文件进行编译的时间成本也会变得比较高。而且由于代码量比较大,每部分代码之间还具有一定的关联性,因此,如果某一段代码出现了问题,可能需要对整个文件重新进行编译,并且由于代码之间具有一定的关联性,由此造成文件编译的成功率比较低。此外,多个团队在协作方面也比较困难。
针对上述现有技术中由于程序代码支架具有较强的耦合性导致的安装文件的运行和调试的时间长、效率低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种运行安装文件的方法和装置,以至少解决现有技术中由于程序代码之间具有较强的耦合性导致的安装文件的运行和调试时间长、效率低的技术问题。
根据本发明实施例的一个方面,提供了一种运行安装文件的方法,包括:基于业务类型将程序代码拆分为平台程序和至少一个业务程序;对平台程序进行编译,得到平台安装文件;对至少一个业务程序中的每个业务程序分别进行编译,得到与每个业务程序相对应的业务安装文件;运行平台安装文件,基于运行的平台安装文件加载并运行至少一个业务安装文件。
根据本发明实施例的另一方面,还提供了一种运行安装文件的装置,包括:拆分模块,用于基于业务类型将程序代码拆分为平台程序和至少一个业务程序;第一编译模块,用于对平台程序进行编译,得到平台安装文件;第二编译模块,用于对至少一个业务程序中的每个业务程序分别进行编译,得到与每个业务程序相对应的业务安装文件;运行模块,用于运行平台安装文件,基于运行的平台安装文件加载并运行至少一个业务安装文件。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,程序执行运行安装文件的方法。
根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行运行安装文件的方法。
在本发明实施例中,采用对拆分后的程序代码独立编译的方式,通过基于业务类型将程序代码拆分为平台程序和至少一个业务程序,对平台程序进行编译,得到平台安装文件,对至少一个业务程序中的每个业务程序分别进行编译,得到与每个业务程序相对应的业务安装文件,运行平台安装文件,并基于运行的平台安装文件加载并运行至少一个业务安装文件,达到了缩短程序的开发和编译时间,提高程序编译的成功率的目的,从而实现了业务程序之间完全解耦的技术效果,进而解决了现有技术中由于程序代码之间具有较强的耦合性导致的安装文件的运行和调试时间长、效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种运行安装文件的方法流程图;
图2是根据本发明实施例的一种可选的平台的界面示意图;
图3是根据本发明实施例的一种可选的运行安装文件的方法流程图;
图4是根据本发明实施例的一种可选的运行安装文件的方法流程图;
图5是根据本发明实施例的一种可选的运行安装文件的方法流程图;以及
图6是根据本发明实施例的一种运行安装文件的装置结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种运行安装文件的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的运行安装文件的方法流程图,如图1所示,该方法包括如下步骤:
步骤S102,基于业务类型将程序代码拆分为平台程序和至少一个业务程序。
需要说明的是,不同的互联网公司经营不同的业务,例如,对于旅游服务公司,其对应的业务可能包括机票预订、酒店预订等业务,而对于餐饮服务类的公司,其对应的业务可能包括订餐业务、储值业务等。
具体的,以下以旅游服务行业的业务为例进行说明,根据旅游服务行业的业务类型将后台的程序代码拆分为平台程序和业务程序,其中,业务程序至少包括机票预订业务、酒店预订业务等,即与机票预订业务相对应的程序代码用于完成机票预订功能,而与酒店预订业务相对应的程序代码用于完成酒店预订的功能。平台程序用于在各个业务程序完成编译之后生成的业务文件进行加载,以及完成各个业务文件所对应的功能之间的切换。
步骤S104,对平台程序进行编译,得到平台安装文件。
具体的,在将程序代码进行拆分得到与平台工程相对应的平台程序后,在平台程序的运行环境下,对平台程序进行编译,便可得到平台安装文件。
步骤S106,对至少一个业务程序中的每个业务程序分别进行编译,得到与每个业务程序相对应的业务安装文件。
具体的,与对平台程序进行编译得到平台安装文件相类似,对每个业务程序进行编译,便可得到与该业务程序相对应的安装文件。
需要说明的是,当对平台程序和业务程序进行编译时,平台程序和每个业务程序使用相同的基础开发库,从而可以避免由于平台程序与业务程序之间使用的基础开发库不一致或每个业务程序之间使用的基础开发库不一致而导致的平台安装文件与业务安装文件之间或每个业务安装文件之间的兼容性问题。
步骤S108,运行平台安装文件,并基于运行的平台安装文件加载并运行至少一个业务安装文件。
具体的,运行平台安装文件可以将平台安装在终端上。其中,图2示出了一种可选的平台的界面示意图,通过点击图2中的“预订机票”的按钮,即可加载与“预订机票”相对应的业务安装文件,并运行该业务安装文件;同样,当点击图2中的“预订酒店”按钮之后,即可加载与“预订酒店”相对应的业务安装文件,并运行该业务安装文件。
需要说明的是,业务安装文件可以通过平台安装文件来加载并运行,也可以直接运行业务安装文件,即可在终端上安装与该业务安装文件,即对于Android客户端,在运行业务安装文件之后,即可生成独立的apk文件。由于运行业务安装文件或运行平台安装文件便生成独立的安装文件,因此,通过步骤S108实现了程序代码之间的完全耦合。
此外,还需要说明的是,平台程序和至少一个业务程序使用相同的开发库,其中,开发库至少包括如下之一:第一开发库、第二开发库和第三开发库,其中,第一开发库与第三开发库具有不同的存储位置,第二开发库和第三开发库具有不同的加密方式。上述开发库即为基础开发库,基础开发库可用作环境隔离。在软件开发的不同阶段,基础开发库使用不同的版本,但基础开发库对外所暴露的调用方式是一直的,只是实现的逻辑不同。
具体的,上述第一开发库为开发阶段所使用的基础开发库,第二开发库为测试阶段所使用的基础开发库,第三开发库为线上阶段所使用的基础开发库。其中,开发阶段的基础开发库和线上阶段的基础开发库的存储数据的位置不同,开发阶段的基础开发库的存储位置为本地外部存储器中,用于完成不同的业务安装文件中的数据的共享。线上阶段的基础开发库和测试阶段的基础开发库的区别在于加密方式是不一致的。
基于上述步骤S102至步骤S108所公开的方案,可以获知通过基于业务类型将程序代码拆分为平台程序和至少一个业务程序,对平台程序进行编译,得到平台安装文件,对至少一个业务程序中的每个业务程序分别进行编译,得到与每个业务程序相对应的业务安装文件,运行平台安装文件,并基于运行的平台安装文件加载并运行至少一个业务安装文件。
容易注意到的是,由于对平台程序以及业务程序独立编译,因此,生成的平台安装文件与业务安装文件之间没有耦合性,即平台程序与业务程序之间完全耦合,业务程序与业务程序之间也是完全耦合,因此,达到了缩短程序的开发和编译时间,提高程序编译的成功率的目的,从而实现了业务程序之间完全解耦的技术效果,进而解决了现有技术中由于程序代码之间具有较强的耦合性导致的安装文件的运行和调试时间长、效率低的技术问题。
在一种可选的实施例中,如3示出了一种可选的运行安装文件的方法流程图,如图3所示,步骤S108,运行平台安装文件,并基于运行的平台安装文件加载并运行至少一个业务安装文件,具体包括如下步骤:
步骤S302,存储至少一个业务安装文件至预设文件中;
步骤S304,在平台安装文件运行的情况下,获取加载至少一个业务安装文件的加载指令;
步骤S306,根据加载指令加载存储在预设文件中的与加载指令相对应的业务安装文件;
步骤S308,在加载业务安装文件的情况下,运行业务安装文件。
具体的,在对所有的业务程序进行编译之后,得到业务安装文件,并得到的业务安装文件存储在终端的固定文件夹中,即存储在预设文件中,当用户通过平台安装文件对业务安装文件进行加载时,直接在该预设文件中查找到该业务安装文件即可。在一种可选的实施例中,当用户点击图2中的“预订机票”的按钮后,终端获取到加载预订机票的业务安装文件的加载指令,此后,平台通过预设文件以及与业务安装文件相对应的标识信息查找到与加载指令相对应的业务安装文件,然后加载并运行该业务安装文件。
在一种可选的实施例中,图4示出了一种可选的运行安装文件的方法流程图,如图4所示,在加载业务安装文件的情况下,运行业务安装文件,具体包括如下步骤:
步骤S402,获取运行至少一个业务安装文件的运行指令;
步骤S404,运行与运行指令相对应的业务安装文件;
步骤S406,在业务安装文件运行的情况下,获取切换业务安装文件的切换指令;
步骤S408,获取与业务安装文件对应的第一清单文件,根据第一清单文件以及切换指令对业务安装文件的运行进行切换。
需要说明的是,对于Android应用,每个Android应用都需要一个名为AndroidManifest.xml的程序清单文件,该清单文件的名称是固定的,并且存放在每个Android应用的根目录下。其中,Android系统需要根据清单文件中定义的信息才能运行。
具体的,以图2为例进行说明,当用户点击了“预订机票”的按钮之后,“预订机票”的业务安装文件开始运行,此时,如果用户点击了“预订酒店”的按钮之后,终端接收到切换业务安装文件的指令,并根据业务安装文件所对应的第一清单中的信息来进行业务安装文件的切换。
此处,需要说明的是,在本申请中,不同业务之间的切换所使用的是标准的URL方案,即在每个独立的业务安装文件下的第一清单文件按照同一的规定格式进行声明,以使每个独立的业务安装文件可以更好的协调运行。
另外,在平台文件的清单文件中声明预设数量个Activity声明,当增加业务安装文件时,不需要在平台文件的清单文件中再次进行注册,从而达到了程序代码的完全解耦的目的。
此外还需要说明的是,Activity是Android组件中的最基本的组件之一,其中,常见的四个Android组件为Activity、Service、Content Provider以及BroadcastReceivers。Activity是一个与用户进行交互的组件,在一个Android应用中,一个Activity通常为一个单独的屏幕,在Activity上可以显示一些控件,还可以监听并处理用户的事件。多个Activity之间通过Intent通信。
在一种可选的实施例中,图5示出了一种可选的运行安装文件的方法流程图,如图5所示,在基于业务类型将程序代码拆分为平台程序和至少一个业务程序之前,该方法还包括如下步骤:
步骤S502,获取与业务程序对应的第一清单文件;
步骤S504,获取与平台程序对应的第二清单文件;
步骤S506,在第一清单文件中对业务安装文件进行权限配置;
步骤S508,在第二清单文件中对平台安装文件进行权限配置,其中,第一清单文件与第二清单文件具有相同的权限。
需要说明的是,上述第一清单文件为业务安装文件下的清单文件,第二清单文件为平台安装文件下的清单文件。在业务安装文件下的清单文件中声明的权限配置与在平台安装文件下的清单文件中声明的权限配置是一致的。其中,上述配置权限用于表征该安装文件与其他安装文件进行交互时的权限。
实施例2
根据本发明实施例,提供了一种运行安装文件的装置实施例。
图6是根据本发明实施例的运行安装文件的装置结构示意图,如图6所示,该装置包括:拆分模块601、第一编译模块603、第二编译模块605以及运行模块607。
拆分模块601,用于基于业务类型将程序代码拆分为平台程序和至少一个业务程序。
需要说明的是,不同的互联网公司经营不同的业务,例如,对于旅游服务公司,其对应的业务可能包括机票预订、酒店预订等业务,而对于餐饮服务类的公司,其对应的业务可能包括订餐业务、储值业务等。
具体的,以下以旅游服务行业的业务为例进行说明,根据旅游服务行业的业务类型将后台的程序代码拆分为平台程序和业务程序,其中,业务程序至少包括机票预订业务、酒店预订业务等,即与机票预订业务相对应的程序代码用于完成机票预订功能,而与酒店预订业务相对应的程序代码用于完成酒店预订的功能。平台程序用于在各个业务程序完成编译之后生成的业务文件进行加载,以及完成各个业务文件所对应的功能之间的切换。
第一编译模块603,用于对平台程序进行编译,得到平台安装文件。
具体的,在将程序代码进行拆分得到与平台工程相对应的平台程序后,在平台程序的运行环境下,对平台程序进行编译,便可得到平台安装文件。
第二编译模块605,用于对至少一个业务程序中的每个业务程序分别进行编译,得到与每个业务程序相对应的业务安装文件。
具体的,与对平台程序进行编译得到平台安装文件相类似,对每个业务程序进行编译,便可得到与该业务程序相对应的安装文件。
需要说明的是,当对平台程序和业务程序进行编译时,平台程序和每个业务程序使用相同的基础开发库,从而可以避免由于平台程序与业务程序之间使用的基础开发库不一致或每个业务程序之间使用的基础开发库不一致而导致的平台安装文件与业务安装文件之间或每个业务安装文件之间的兼容性问题。
运行模块607,用于运行平台安装文件,并基于运行的平台安装文件加载并运行至少一个业务安装文件。
具体的,运行平台安装文件可以将平台安装在终端上。其中,图2示出了一种可选的平台的界面示意图,通过点击图2中的“预订机票”的按钮,即可加载与“预订机票”相对应的业务安装文件,并运行该业务安装文件;同样,当点击图2中的“预订酒店”按钮之后,即可加载与“预订酒店”相对应的业务安装文件,并运行该业务安装文件。
需要说明的是,业务安装文件可以通过平台安装文件来加载并运行,也可以直接运行业务安装文件,即可在终端上安装与该业务安装文件,即对于Android客户端,在运行业务安装文件之后,即可生成独立的apk文件。由于运行业务安装文件或运行平台安装文件便生成独立的安装文件,因此,通过运行模块607实现了程序代码之间的完全耦合。
此外,还需要说明的是,平台程序和至少一个业务程序使用相同的开发库,其中,开发库至少包括如下之一:第一开发库、第二开发库和第三开发库,其中,第一开发库与第三开发库具有不同的存储位置,第二开发库和第三开发库具有不同的加密方式。上述开发库即为基础开发库,基础开发库可用作环境隔离。在软件开发的不同阶段,基础开发库使用不同的版本,但基础开发库对外所暴露的调用方式是一直的,只是实现的逻辑不同。
具体的,上述第一开发库为开发阶段所使用的基础开发库,第二开发库为测试阶段所使用的基础开发库,第三开发库为线上阶段所使用的基础开发库。其中,开发阶段的基础开发库和线上阶段的基础开发库的存储数据的位置不同,开发阶段的基础开发库的存储位置为本地外部存储器中,用于完成不同的业务安装文件中的数据的共享。线上阶段的基础开发库和测试阶段的基础开发库的区别在于加密方式是不一致的。
由上可知,通过基于业务类型将程序代码拆分为平台程序和至少一个业务程序,对平台程序进行编译,得到平台安装文件,对至少一个业务程序中的每个业务程序分别进行编译,得到与每个业务程序相对应的业务安装文件,运行平台安装文件,并基于运行的平台安装文件加载并运行至少一个业务安装文件。
容易注意到的是,由于对平台程序以及业务程序独立编译,因此,生成的平台安装文件与业务安装文件之间没有耦合性,即平台程序与业务程序之间完全耦合,业务程序与业务程序之间也是完全耦合,因此,达到了缩短程序的开发和编译时间,提高程序编译的成功率的目的,从而实现了业务程序之间完全解耦的技术效果,进而解决了现有技术中由于程序代码之间具有较强的耦合性导致的安装文件的运行和调试时间长、效率低的技术问题。
需要说明的是,上述拆分模块601、第一编译模块603、第二编译模块605以及运行模块607对应于实施例1中的步骤S102至步骤S108,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
可选的,运行模块包括:存储模块、第一获取模块、加载模块以及第一运行模块。其中,存储模块,用于存储至少一个业务安装文件至预设文件中;第一获取模块,用于在平台安装文件运行的情况下,获取加载至少一个业务安装文件的加载指令;加载模块,用于根据加载指令加载存储在预设文件中的与加载指令相对应的业务安装文件;第一运行模块,用于在加载业务安装文件的情况下,运行业务安装文件。
需要说明的是,上述存储模块、第一获取模块、加载模块以及第一运行模块对应于实施例1中的步骤S302至步骤S308,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
可选的,第一运行模块包括:第二获取模块、第二运行模块、第三获取模块以及切换模块。其中,第二获取模块,用于获取运行至少一个业务安装文件的运行指令;第二运行模块,用于运行与运行指令相对应的业务安装文件;第三获取模块,用于在业务安装文件运行的情况下,获取切换业务安装文件的切换指令;切换模块,用于获取与业务安装文件对应的第一清单文件,根据第一清单文件以及切换指令对业务安装文件的运行进行切换。
需要说明的是,上述第二获取模块、第二运行模块、第三获取模块以及切换模块对应于实施例1中的步骤S402至步骤S408,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
可选的,运行安装文件的装置还包括:第四获取模块、第五获取模块、第一配置模块以及第二配置模块。其中,第四获取模块,用于获取与业务程序对应的第一清单文件;第五获取模块,用于获取与平台程序对应的第二清单文件;第一配置模块,用于在第一清单文件中对业务安装文件进行权限配置;第二配置模块,用于在第二清单文件中对平台安装文件进行权限配置,其中,第一清单文件与第二清单文件具有相同的权限。
需要说明的是,上述第四获取模块、第五获取模块、第一配置模块以及第二配置模块对应于实施例1中的步骤S502至步骤S508,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,程序执行运行安装文件的方法。
根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行运行安装文件的方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种运行安装文件的方法,其特征在于,包括:
基于业务类型将程序代码拆分为平台程序和至少一个业务程序;
对所述平台程序进行编译,得到平台安装文件;
对所述至少一个业务程序中的每个业务程序分别进行编译,得到与所述每个业务程序相对应的业务安装文件;
运行所述平台安装文件,并基于运行的平台安装文件加载并运行至少一个所述业务安装文件。
2.根据权利要求1所述的方法,其特征在于,运行所述平台安装文件,并基于运行的平台安装文件加载并运行至少一个所述业务安装文件,包括:
存储至少一个所述业务安装文件至预设文件中;
在所述平台安装文件运行的情况下,获取加载至少一个所述业务安装文件的加载指令;
根据所述加载指令加载存储在所述预设文件中的与所述加载指令相对应的业务安装文件;
在加载所述业务安装文件的情况下,运行所述业务安装文件。
3.根据权利要求2所述的方法,其特征在于,在加载所述业务安装文件的情况下,运行所述业务安装文件,包括:
获取运行至少一个所述业务安装文件的运行指令;
运行与所述运行指令相对应的业务安装文件;
在所述业务安装文件运行的情况下,获取切换所述业务安装文件的切换指令;
获取与所述业务安装文件对应的第一清单文件,根据所述第一清单文件以及所述切换指令对所述业务安装文件的运行进行切换。
4.根据权利要求3所述的方法,其特征在于,在基于业务类型将程序代码拆分为平台程序和至少一个业务程序之前,所述方法还包括:
获取与所述业务程序对应的第一清单文件;
获取与所述平台程序对应的第二清单文件;
在所述第一清单文件中对所述业务安装文件进行权限配置;
在所述第二清单文件中对所述平台安装文件进行权限配置,其中,所述第一清单文件与所述第二清单文件具有相同的权限。
5.根据权利要求1所述的方法,其特征在于,所述平台程序和所述至少一个业务程序使用相同的开发库,其中,所述开发库至少包括如下之一:第一开发库、第二开发库和第三开发库,其中,所述第一开发库与所述第三开发库具有不同的存储位置,所述第二开发库和所述第三开发库具有不同的加密方式。
6.一种运行安装文件的装置,其特征在于,包括:
拆分模块,用于基于业务类型将程序代码拆分为平台程序和至少一个业务程序;
第一编译模块,用于对所述平台程序进行编译,得到平台安装文件;
第二编译模块,用于对所述至少一个业务程序中的每个业务程序分别进行编译,得到与所述每个业务程序相对应的业务安装文件;
运行模块,用于运行所述平台安装文件,并基于运行的平台安装文件加载并运行至少一个所述业务安装文件。
7.根据权利要求6所述的装置,其特征在于,所述运行模块包括:
存储模块,用于存储至少一个所述业务安装文件至预设文件中;
第一获取模块,用于在所述平台安装文件运行的情况下,获取加载至少一个所述业务安装文件的加载指令;
加载模块,用于根据所述加载指令加载存储在所述预设文件中的与所述加载指令相对应的业务安装文件;
第一运行模块,用于在加载所述业务安装文件的情况下,运行所述业务安装文件。
8.根据权利要求7所述的装置,其特征在于,所述第一运行模块包括:
第二获取模块,用于获取运行至少一个所述业务安装文件的运行指令;
第二运行模块,用于运行与所述运行指令相对应的业务安装文件;
第三获取模块,用于在所述业务安装文件运行的情况下,获取切换所述业务安装文件的切换指令;
切换模块,用于获取与所述业务安装文件对应的第一清单文件,根据所述第一清单文件以及所述切换指令对所述业务安装文件的运行进行切换。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第四获取模块,用于获取与所述业务程序对应的第一清单文件;
第五获取模块,用于获取与所述平台程序对应的第二清单文件;
第一配置模块,用于在所述第一清单文件中对所述业务安装文件进行权限配置;
第二配置模块,用于在所述第二清单文件中对所述平台安装文件进行权限配置,其中,所述第一清单文件与所述第二清单文件具有相同的权限。
10.根据权利要求6所述的装置,其特征在于,所述平台程序和所述至少一个业务程序使用相同的开发库,其中,所述开发库至少包括如下之一:第一开发库、第二开发库和第三开发库,其中,所述第一开发库与所述第三开发库具有不同的存储位置,所述第二开发库和所述第三开发库具有不同的加密方式。
11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至5中任意一项所述的运行安装文件的方法。
12.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至5中任意一项所述的运行安装文件的方法。
CN201710406104.6A 2017-06-01 2017-06-01 运行安装文件的方法和装置 Pending CN107357605A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710406104.6A CN107357605A (zh) 2017-06-01 2017-06-01 运行安装文件的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710406104.6A CN107357605A (zh) 2017-06-01 2017-06-01 运行安装文件的方法和装置

Publications (1)

Publication Number Publication Date
CN107357605A true CN107357605A (zh) 2017-11-17

Family

ID=60271707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710406104.6A Pending CN107357605A (zh) 2017-06-01 2017-06-01 运行安装文件的方法和装置

Country Status (1)

Country Link
CN (1) CN107357605A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897571A (zh) * 2018-06-29 2018-11-27 北京金山数字娱乐科技有限公司 程序打包部署方法、装置、系统、电子设备及存储介质
CN108958832A (zh) * 2018-06-12 2018-12-07 北京蜂盒科技有限公司 定制业务流程的方法、装置和存储介质以及电子设备
CN115080151A (zh) * 2022-07-22 2022-09-20 平安银行股份有限公司 App启动流程控制方法、计算机可读存储介质及终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010011371A1 (en) * 1998-09-29 2001-08-02 Min-Mei Tang Compilation of embedded language statements in a source code program
CN101872305A (zh) * 2010-06-08 2010-10-27 用友软件股份有限公司 Ui表现和业务逻辑分离方法和系统
CN102023867A (zh) * 2010-12-17 2011-04-20 中兴通讯股份有限公司 一种终端二次开发装置及二次开发平台构建方法
CN104461582A (zh) * 2014-12-30 2015-03-25 乐视网信息技术(北京)股份有限公司 业务处理方法、装置以及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010011371A1 (en) * 1998-09-29 2001-08-02 Min-Mei Tang Compilation of embedded language statements in a source code program
CN101872305A (zh) * 2010-06-08 2010-10-27 用友软件股份有限公司 Ui表现和业务逻辑分离方法和系统
CN102023867A (zh) * 2010-12-17 2011-04-20 中兴通讯股份有限公司 一种终端二次开发装置及二次开发平台构建方法
CN104461582A (zh) * 2014-12-30 2015-03-25 乐视网信息技术(北京)股份有限公司 业务处理方法、装置以及设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958832A (zh) * 2018-06-12 2018-12-07 北京蜂盒科技有限公司 定制业务流程的方法、装置和存储介质以及电子设备
CN108897571A (zh) * 2018-06-29 2018-11-27 北京金山数字娱乐科技有限公司 程序打包部署方法、装置、系统、电子设备及存储介质
CN108897571B (zh) * 2018-06-29 2022-07-05 北京金山数字娱乐科技有限公司 程序打包部署方法、装置、系统、电子设备及存储介质
CN115080151A (zh) * 2022-07-22 2022-09-20 平安银行股份有限公司 App启动流程控制方法、计算机可读存储介质及终端
CN115080151B (zh) * 2022-07-22 2023-07-14 平安银行股份有限公司 App启动流程控制方法、计算机可读存储介质及终端

Similar Documents

Publication Publication Date Title
CN104516738A (zh) 一种app应用的开发与发布一体化实现方法
CN104572114B (zh) 一种绑定装置、应用更新装置及方法
CN106302008A (zh) 数据更新方法和装置
US20050188262A1 (en) Simultaneous execution of test suites on different platforms
CN107967159A (zh) 一种配置文件应用的方法以及服务器
CN106897216A (zh) 测试软件的方法和装置
CN105787123A (zh) 最小下载和模拟的页面导航特征
CN108415821A (zh) 测试报告的生成方法及装置
CN105373390A (zh) 面向oem的在线软件定制打包发布的方法和装置
CN107357605A (zh) 运行安装文件的方法和装置
CN102799444B (zh) 跨平台打包程序的方法及装置
CN105045602A (zh) 一种构建Hadoop应用开发框架的方法、装置及电子装置
CN106034247A (zh) 一种智能电视应用的配置方法及装置
CN110507986B (zh) 动画信息的处理方法和装置
CN107291759A (zh) 浏览器页面资源的处理方法和装置
CN101087307A (zh) 用于面向服务的协作的方法和系统
CN107562548A (zh) 传输数据的方法和装置
CN106775862A (zh) 应用加载方法及装置
CN106055375A (zh) 应用程序安装方法及装置
CN113791765A (zh) 云服务的资源编排方法、装置、设备及存储介质
CN105204964A (zh) 基于云盘的数据备份方法及装置
CN110109684A (zh) 区块链节点管理代理服务安装方法、电子装置及存储介质
CN105009115A (zh) 获取网络资源的方法和装置
CN107766230A (zh) 一种基于配置文件进行测试的方法与设备
CN106951240B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20171117

RJ01 Rejection of invention patent application after publication