编译处理方法及装置与流程

文档序号:11519395阅读:232来源:国知局
编译处理方法及装置与流程

【技术领域】

本发明涉及通信领域,尤其涉及一种编译处理方法及装置。



背景技术:

当前,很多移动终端采用开源的安卓(android)系统,例如智能手机、平板电脑等。在安卓系统中,framework是安卓系统的框架层,主要由java代码实现。

在软件项目开发中,不同的多个项目可能涉及framework的同一个系统软件功能。目前,这种情况下,每个项目都需要独立移植该系统软件功能的代码,并且在移植的过程中,针对不同的项目可能需要对该系统软件功能的代码作不同的修改。这样,不仅造成已有功能代码的大量重复移植,而且也使得代码不稳定,维护困难。

可见,现有技术中存在已有功能代码复用性较差、维护困难和稳定性低的问题。



技术实现要素:

有鉴于此,本发明实施例提供了一种编译处理方法及装置,用以解决现有技术中的已有功能代码复用性较差、维护困难和稳定性低的问题。

第一方面,本发明实施例提供一种编译处理方法,所述方法包括:

提取系统框架中为至少两个项目共用的指定代码;

将所述指定代码存储至所述系统框架外的指定位置;

在指定项目编译所述指定代码时,编译所述指定位置中的代码。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在指定项目编译所述指定代码时,编译所述指定位置中的代码,包括:

在指定项目中的所述指定代码的编译路径为所述系统框架中的位置时,将编译路由到所述指定位置。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在指定项目编译所述指定代码时,编译所述指定位置中的代码,包括:

在指定项目中未设置所述指定代码的编译路径时,将所述指定项目中所述指定代码的编译路径设置为所述指定位置。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:

将所述指定位置配置为全局的代码仓库。

第二方面,本发明实施例提供一种编译处理装置,所述装置包括:

提取模块,用于提取系统框架中为至少两个项目共用的指定代码;

存储模块,用于将所述指定代码存储至所述系统框架外的指定位置;

编译模块,用于在指定项目编译所述指定代码时,编译所述指定位置中的代码。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述编译模块在用于在指定项目编译所述指定代码时,编译所述指定位置中的代码时,具体用于:

在指定项目中的所述指定代码的编译路径为所述系统框架中的位置时,将编译路由到所述指定位置。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述编译模块在用于在指定项目编译所述指定代码时,编译所述指定位置中的代码时,具体用于:

在指定项目中未设置所述指定代码的编译路径时,将所述指定项目中所述指定代码的编译路径设置为所述指定位置。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:

配置模块,用于将所述指定位置配置为全局的代码仓库。

本发明实施例具有以下有益效果:

本发明实施例,通过提取系统框架中为至少两个项目共用的指定代码,并存储在系统框架外的指定位置,以及在指定项目编译指定代码时,编译指定位置中的代码,在保证相同编译效果的情况下,使项目共用的编译代码与系统框架分离,从而使得各个项目都能够使用该分离代码,并且不需要针对不同的项目分别对代码进行修改,因此提升了已有功能代码的复用性和稳定性,并且使得代码的维护更加方便容易。

【附图说明】

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例提供的编译处理方法的第一流程示例图。

图2为本发明实施例提供的编译处理方法的第二流程示例图。

图3为本发明实施例提供的编译处理方法的第三流程示例图。

图4为本发明实施例提供的编译处理方法的第四流程示例图。

图5为本发明实施例提供的编译处理装置的功能方块图。

【具体实施方式】

为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

实施例一

本发明实施例提供了一种编译处理方法,该编译处理方法可以应用于手机、平板电脑等终端。该编译处理方法可以通过程序实现,该程序能够安装在手机、平板电脑等终端上。

图1为本发明实施例提供的编译处理方法的第一流程示例图。如图1所示,本实施例中,编译处理方法包括如下步骤:

s101,提取系统框架中为至少两个项目共用的指定代码;

s102,将指定代码存储至系统框架外的指定位置;

s103,在指定项目编译指定代码时,编译指定位置中的代码。

其中,指定代码为涉及系统框架的代码。例如,指定代码可以为涉及系统框架的系统软件功能代码。指定代码的原始存储位置处于系统框架中。

s101中,提取的指定代码包括两个条件,一个条件是该指定代码是系统框架中的代码,另一个条件是指定代码是两个或多个项目共用的代码。

s102中,将系统框架中的项目共用的指定代码存储至系统框架外的指定位置,使得指定代码与系统框架分离,成为系统框架外的独立代码,实现了指定代码从系统框架中的剥离。这样,在使用该指定代码的项目需要编译指定代码时,就可以直接编译指定位置中的代码,而不必再去编译系统框架中的指定代码了。同时,系统框架中的指定代码仍然存在,不对系统框架造成影响。

s103中,在指定项目编译指定代码时,编译指定位置中的代码,实现了项目编译代码与系统框架的分离。

由于指定位置保存的代码与系统框架中的指定代码相同,因此编译指定位置的代码与编译系统框架中的指定代码都能够实现指定代码的功能。例如,当指定代码为涉及系统框架的系统软件功能代码时,编译指定位置的代码与编译系统框架中的指定代码都能够实现指定代码的系统软件功能。并且,由于指定位置处于系统框架之外,不属于系统框架,还实现了编译代码与系统框架的分离。

这样,将指定代码从系统框架中剥离出来,放在系统框架之外的指定位置,使得指定代码可以为不同的项目复用,并且能够避免各个项目对指定代码的重复移植,从而实现了代码的平台化复用,提升了代码的复用性。

再者,由于从系统框架中剥离出来的指定代码不再与系统框架相关,在修改时可以不用考虑对系统框架的影响,并且每一次的修改对所有相关的项目都有效,而不必分别针对每个项目单独对代码进行修改,因此维护更加方便和容易。

而且,由于从系统框架中剥离出来的代码独立于系统框架,当系统框架的其他部分改变时,不会对该独立的指定代码产生影响,这样就不需要对指定位置的指定代码进行适应性修改,因此提升了代码的稳定性能。

图1所示实施例,通过提取系统框架中为至少两个项目共用的指定代码,并存储在系统框架外的指定位置,以及在指定项目编译指定代码时,编译指定位置中的代码,在保证相同编译效果的情况下,使项目共用的编译代码与系统框架分离,从而使得各个项目都能够使用该分离代码,并且不需要针对不同的项目分别对代码进行修改,因此提升了已有功能代码的复用性和稳定性,并且使得代码的维护更加方便容易。

图2为本发明实施例提供的编译处理方法的第二流程示例图。如图2所示,本实施例中,编译处理方法包括如下步骤:

s201,提取系统框架中为至少两个项目共用的指定代码;

s202,将指定代码存储至系统框架外的指定位置;

s203,在指定项目中的指定代码的编译路径为系统框架中的位置时,将编译路由到指定位置。

图2所示实施例,在指定项目中的指定代码的编译路径为系统框架中的位置时,将编译路由到指定位置。这种情况针对已经将指定代码的编译路径设置为系统框架中的位置的项目。对于已经将指定代码的编译路径设置为系统框架中的位置的项目,在执行编译时,会首先根据设置的编译路径去找指定代码,此时,将编译路由到指定位置,就会在实际编译时仍然是对指定位置中存储的指定代码进行编译,从而实现了编译代码与系统框架的分离,有助于提高代码的复用性和稳定性,并且降低了代码的维护难度,使得代码易于维护。

图3为本发明实施例提供的编译处理方法的第三流程示例图。如图3所示,本实施例中,编译处理方法包括如下步骤:

s301,提取系统框架中为至少两个项目共用的指定代码;

s302,将指定代码存储至系统框架外的指定位置;

s303,在指定项目中未设置指定代码的编译路径时,将指定项目中指定代码的编译路径设置为指定位置。

图3所示实施例,在指定项目中未设置指定代码的编译路径时,将指定项目中指定代码的编译路径设置为指定位置。这种情况针对还没有设置指定代码的编译路径的项目。此时,可以直接将指定代码的编译路径设置为指定位置。这样,在编译指定代码时,就直接对指定位置中的代码进行编译,而不需要去编译系统框架中的指定代码了,从而实现了编译代码与系统框架的分离,有助于提高代码的复用性和稳定性,并且降低了代码的维护难度,使得代码易于维护。

图4为本发明实施例提供的编译处理方法的第四流程示例图。如图4所示,本实施例中,编译处理方法包括如下步骤:

s401,提取系统框架中为至少两个项目共用的指定代码;

s402,将指定代码存储至系统框架外的指定位置;

s403,将指定位置配置为全局的代码仓库;

s404,在指定项目编译指定代码时,编译指定位置中的代码。

图4所示实施例中,通过步骤s403将指定位置配置为全局的代码仓库,使得各个项目都可以共用指定位置中的代码,这样,当系统编译的时候就会直接对指定位置中的代码,从而实现了代码从系统框架的剥离和代码复用。

本发明实施例的编译处理方法,通过提取系统框架中为至少两个项目共用的指定代码,并存储在系统框架外的指定位置,以及在指定项目编译指定代码时,编译指定位置中的代码,在保证相同编译效果的情况下,使项目共用的编译代码与系统框架分离,从而使得各个项目都能够使用该分离代码,并且不需要针对不同的项目分别对代码进行修改,因此提升了已有功能代码的复用性和稳定性,并且使得代码的维护更加方便容易。

实施例二

本发明实施例提供了一种编译处理装置,该编译处理装置能够实现前述实施例一中编译处理方法的各步骤。

图5为本发明实施例提供的编译处理装置的功能方块图。如图5所示,本实施例中,编译处理装置包括:

提取模块510,用于提取系统框架中为至少两个项目共用的指定代码;

存储模块520,用于将指定代码存储至系统框架外的指定位置;

编译模块530,用于在指定项目编译指定代码时,编译指定位置中的代码。

在一个具体的实现过程中,编译模块530在用于在指定项目编译指定代码时,编译指定位置中的代码时,具体用于:在指定项目中的指定代码的编译路径为系统框架中的位置时,将编译路由到指定位置。

在一个具体的实现过程中,编译模块530在用于在指定项目编译指定代码时,编译指定位置中的代码时,具体用于:在指定项目中未设置指定代码的编译路径时,将指定项目中指定代码的编译路径设置为指定位置。

在一个具体的实现过程中,编译处理装置还可以包括:配置模块,用于将指定位置配置为全局的代码仓库。

由于本实施例中的编译处理装置能够执行前述实施例一中的编译处理方法,本实施例未详细描述的部分,可参考对前述实施例一中编译处理方法的相关说明。

本发明实施例的编译处理装置,通过提取系统框架中为至少两个项目共用的指定代码,并存储在系统框架外的指定位置,以及在指定项目编译指定代码时,编译指定位置中的代码,在保证相同编译效果的情况下,使项目共用的编译代码与系统框架分离,从而使得各个项目都能够使用该分离代码,并且不需要针对不同的项目分别对代码进行修改,因此提升了已有功能代码的复用性和稳定性,并且使得代码的维护更加方便容易。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1