提高安卓系统编译速度的方法及装置制造方法及图纸

技术编号:17195702 阅读:53 留言:0更新日期:2018-02-03 22:32
本发明专利技术公开了一种提高安卓系统编译速度的方法及装置,属于安卓软件开发技术领域。其中,该方法包括:获取当前源码目录下的当前源码文件的特征码,结合当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块;根据不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定不编译模块对应的目标历史编译文件,将目标历史编译文件添加到当前编译目的文件夹的目标位置;根据待编译模块,生成编译模块列表,按照编译模块列表和目标历史编译文件,对当前源码文件进行编译,生成当前编译文件。本发明专利技术能够减少需要编译的模块数量,节省大量的编译时间。

【技术实现步骤摘要】
提高安卓系统编译速度的方法及装置
本专利技术涉及安卓软件开发
,尤其涉及一种提高安卓系统编译速度的方法及装置。
技术介绍
对于安卓系统,在软件项目的开发过程中,需要不断对各种类型的源代码进行编译,由于源代码的数量往往非常巨大,导致在编译时,编译速度一直比较缓慢。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:对于同一项目类似版本的编译,尽管编译前后的源代码差异很小,但是每次编译耗费的时间都相差不大。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种提高安卓系统编译速度的方法及装置。所述技术方案如下:一方面,提供了一种提高安卓系统编译速度的方法,包括:获取当前源码目录下的当前源码文件的特征码,结合所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块;根据所述不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件,将所述目标历史编译文件添加到当前编译目的文件夹的目标位置;根据所述待编译模块,生成编译模块列表,按照所述编译模块列表和所述目标历史编译文件,对所述当前源码文件进行编译,生成当前编译文件。进一步的,所述结合所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块,包括:比较所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表;根据所述当前源码文件第二列表,确定所述待编译模块;根据所述当前源码文件第一列表,确定所述不编译模块。进一步的,所述比较所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表,包括:根据所述当前源码目录下的Makefile文件,获取所述当前源码文件的类型;根据所述当前源码文件的类型,确定与所述当前源码文件的类型相同的目标历史源码文件,根据所述目标历史源码文件,确定保存有所述目标历史源码文件的所述多个历史源码目录中的目标历史源码目录;比较所述当前源码文件的特征码和所述目标历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表。进一步的,所述根据所述不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件,包括:根据所述目标历史源码目录,确定所述多个历史编译目的文件夹中的目标历史编译目的文件夹;根据所述不编译模块和所述目标历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件。进一步的,所述方法还包括:保存所述当前源码目录和所述当前源码目录下的当前源码文件,以及所述当前编译目的文件夹和所述当前编译目的文件夹下的当前编译文件。另一方面,提供了一种提高安卓系统编译速度的装置,所述装置包括:第一确定单元,用于获取当前源码目录下的当前源码文件的特征码,结合所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块;第二确定单元,用于根据所述不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件,将所述目标历史编译文件添加到当前编译目的文件夹的目标位置;编译单元,用于根据所述待编译模块,生成编译模块列表,按照所述编译模块列表和所述目标历史编译文件,对所述当前源码文件进行编译,生成当前编译文件。进一步的,所述第一确定单元,还用于:比较所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表;根据所述当前源码文件第二列表,确定所述待编译模块;根据所述当前源码文件第一列表,确定所述不编译模块。进一步的,所述第一确定单元,还用于:根据所述当前源码目录下的Makefile文件,获取所述当前源码文件的类型;根据所述当前源码文件的类型,确定与所述当前源码文件的类型相同的目标历史源码文件,根据所述目标历史源码文件,确定保存有所述目标历史源码文件的所述多个历史源码目录中的目标历史源码目录;比较所述当前源码文件的特征码和所述目标历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表。进一步的,所述第二确定单元,还用于:根据所述目标历史源码目录,确定所述多个历史编译目的文件夹中的目标历史编译目的文件夹;根据所述不编译模块和所述目标历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件。进一步的,所述装置还包括存储单元,所述存储单元,用于保存所述当前源码目录和所述当前源码目录下的当前源码文件,以及所述当前编译目的文件夹和所述当前编译目的文件夹下的当前编译文件。本专利技术实施例提供的技术方案带来的有益效果是:本专利技术实施例中,通过获取当前源码目录下的当前源码文件的特征码,结合当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块;根据不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定不编译模块对应的目标历史编译文件,将目标历史编译文件添加到当前编译目的文件夹的目标位置;根据待编译模块,生成编译模块列表,按照编译模块列表和目标历史编译文件,对当前源码文件进行编译,生成当前编译文件;从而减少了需要编译的模块数量,节省了大量的编译时间。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种提高安卓系统编译速度的方法流程图;图2是本专利技术实施例提供的一种提高安卓系统编译速度的方法流程图;图3是本专利技术实施例提供的一种提高安卓系统编译速度的方法流程图;图4是本专利技术实施例提供的一种提高安卓系统编译速度的方法流程图;图5是本专利技术实施例提供的一种提高安卓系统编译速度的装置结构示意图;图6是本专利技术实施例提供的一种提高安卓系统编译速度的装置结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。本专利技术实施例提供了一种提高安卓系统编译速度的方法,该方法的执行主体为一种提高安卓系统编译速度的装置,该装置利用git(分布式版本控制系统)以及源码文件的特征码,确定需要编译的模块和不需要编译的模块,对于不需要编译的模块,将该不需要编译的模块对应的历史编译文件,添加到编译目的文件夹的目标位置,然后对于需要编译的模块进行编译,从而显著提高编译速度。下面将结合具体实施方式,对图1所示的处理流程进行详细的说明,内容可以如下:步骤101:获取当前源码目录下的当前源码文件的特征码,结合当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块。在实施中,上述装置保存有多个历史本文档来自技高网...
提高安卓系统编译速度的方法及装置

【技术保护点】
一种提高安卓系统编译速度的方法,其特征在于,所述方法包括:获取当前源码目录下的当前源码文件的特征码,结合所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块;根据所述不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件,将所述目标历史编译文件添加到当前编译目的文件夹的目标位置;根据所述待编译模块,生成编译模块列表,按照所述编译模块列表和所述目标历史编译文件,对所述当前源码文件进行编译,生成当前编译文件。

【技术特征摘要】
1.一种提高安卓系统编译速度的方法,其特征在于,所述方法包括:获取当前源码目录下的当前源码文件的特征码,结合所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块;根据所述不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件,将所述目标历史编译文件添加到当前编译目的文件夹的目标位置;根据所述待编译模块,生成编译模块列表,按照所述编译模块列表和所述目标历史编译文件,对所述当前源码文件进行编译,生成当前编译文件。2.根据权利要求1所述的方法,其特征在于,所述结合所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块,包括:比较所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表;根据所述当前源码文件第二列表,确定所述待编译模块;根据所述当前源码文件第一列表,确定所述不编译模块。3.根据权利要求2所述的方法,其特征在于,所述比较所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表,包括:根据所述当前源码目录下的Makefile文件,获取所述当前源码文件的类型;根据所述当前源码文件的类型,确定与所述当前源码文件的类型相同的目标历史源码文件,根据所述目标历史源码文件,确定保存有所述目标历史源码文件的所述多个历史源码目录中的目标历史源码目录;比较所述当前源码文件的特征码和所述目标历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表。4.根据权利要求3所述的方法,其特征在于,所述根据所述不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件,包括:根据所述目标历史源码目录,确定所述多个历史编译目的文件夹中的目标历史编译目的文件夹;根据所述不编译模块和所述目标历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:保...

【专利技术属性】
技术研发人员:许兴旺
申请(专利权)人:上海鼎为电子科技集团有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1