CN107656736A - 提高安卓系统编译速度的方法及装置 - Google Patents

提高安卓系统编译速度的方法及装置 Download PDF

Info

Publication number
CN107656736A
CN107656736A CN201710898118.4A CN201710898118A CN107656736A CN 107656736 A CN107656736 A CN 107656736A CN 201710898118 A CN201710898118 A CN 201710898118A CN 107656736 A CN107656736 A CN 107656736A
Authority
CN
China
Prior art keywords
file
code
current
compiling
history
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
CN201710898118.4A
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.)
Shanghai Ding Electronic Technology (group) Co Ltd
Original Assignee
Shanghai Ding Electronic Technology (group) 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 Shanghai Ding Electronic Technology (group) Co Ltd filed Critical Shanghai Ding Electronic Technology (group) Co Ltd
Priority to CN201710898118.4A priority Critical patent/CN107656736A/zh
Publication of CN107656736A publication Critical patent/CN107656736A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation

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

提高安卓系统编译速度的方法及装置
技术领域
本发明涉及安卓软件开发技术领域,尤其涉及一种提高安卓系统编译速度的方法及装置。
背景技术
对于安卓系统,在软件项目的开发过程中,需要不断对各种类型的源代码进行编译,由于源代码的数量往往非常巨大,导致在编译时,编译速度一直比较缓慢。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
对于同一项目类似版本的编译,尽管编译前后的源代码差异很小,但是每次编译耗费的时间都相差不大。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种提高安卓系统编译速度的方法及装置。所述技术方案如下:
一方面,提供了一种提高安卓系统编译速度的方法,包括:
获取当前源码目录下的当前源码文件的特征码,结合所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块;
根据所述不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件,将所述目标历史编译文件添加到当前编译目的文件夹的目标位置;
根据所述待编译模块,生成编译模块列表,按照所述编译模块列表和所述目标历史编译文件,对所述当前源码文件进行编译,生成当前编译文件。
进一步的,所述结合所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块,包括:
比较所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表;
根据所述当前源码文件第二列表,确定所述待编译模块;
根据所述当前源码文件第一列表,确定所述不编译模块。
进一步的,所述比较所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表,包括:
根据所述当前源码目录下的Makefile文件,获取所述当前源码文件的类型;
根据所述当前源码文件的类型,确定与所述当前源码文件的类型相同的目标历史源码文件,根据所述目标历史源码文件,确定保存有所述目标历史源码文件的所述多个历史源码目录中的目标历史源码目录;
比较所述当前源码文件的特征码和所述目标历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表。
进一步的,所述根据所述不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件,包括:
根据所述目标历史源码目录,确定所述多个历史编译目的文件夹中的目标历史编译目的文件夹;
根据所述不编译模块和所述目标历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件。
进一步的,所述方法还包括:
保存所述当前源码目录和所述当前源码目录下的当前源码文件,以及所述当前编译目的文件夹和所述当前编译目的文件夹下的当前编译文件。
另一方面,提供了一种提高安卓系统编译速度的装置,所述装置包括:
第一确定单元,用于获取当前源码目录下的当前源码文件的特征码,结合所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块;
第二确定单元,用于根据所述不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件,将所述目标历史编译文件添加到当前编译目的文件夹的目标位置;
编译单元,用于根据所述待编译模块,生成编译模块列表,按照所述编译模块列表和所述目标历史编译文件,对所述当前源码文件进行编译,生成当前编译文件。
进一步的,所述第一确定单元,还用于:
比较所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表;
根据所述当前源码文件第二列表,确定所述待编译模块;
根据所述当前源码文件第一列表,确定所述不编译模块。
进一步的,所述第一确定单元,还用于:
根据所述当前源码目录下的Makefile文件,获取所述当前源码文件的类型;
根据所述当前源码文件的类型,确定与所述当前源码文件的类型相同的目标历史源码文件,根据所述目标历史源码文件,确定保存有所述目标历史源码文件的所述多个历史源码目录中的目标历史源码目录;
比较所述当前源码文件的特征码和所述目标历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表。
进一步的,所述第二确定单元,还用于:
根据所述目标历史源码目录,确定所述多个历史编译目的文件夹中的目标历史编译目的文件夹;
根据所述不编译模块和所述目标历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件。
进一步的,所述装置还包括存储单元,所述存储单元,用于保存所述当前源码目录和所述当前源码目录下的当前源码文件,以及所述当前编译目的文件夹和所述当前编译目的文件夹下的当前编译文件。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,通过获取当前源码目录下的当前源码文件的特征码,结合当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块;根据不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定不编译模块对应的目标历史编译文件,将目标历史编译文件添加到当前编译目的文件夹的目标位置;根据待编译模块,生成编译模块列表,按照编译模块列表和目标历史编译文件,对当前源码文件进行编译,生成当前编译文件;从而减少了需要编译的模块数量,节省了大量的编译时间。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种提高安卓系统编译速度的方法流程图;
图2是本发明实施例提供的一种提高安卓系统编译速度的方法流程图;
图3是本发明实施例提供的一种提高安卓系统编译速度的方法流程图;
图4是本发明实施例提供的一种提高安卓系统编译速度的方法流程图;
图5是本发明实施例提供的一种提高安卓系统编译速度的装置结构示意图;
图6是本发明实施例提供的一种提高安卓系统编译速度的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种提高安卓系统编译速度的方法,该方法的执行主体为一种提高安卓系统编译速度的装置,该装置利用git(分布式版本控制系统)以及源码文件的特征码,确定需要编译的模块和不需要编译的模块,对于不需要编译的模块,将该不需要编译的模块对应的历史编译文件,添加到编译目的文件夹的目标位置,然后对于需要编译的模块进行编译,从而显著提高编译速度。
下面将结合具体实施方式,对图1所示的处理流程进行详细的说明,内容可以如下:
步骤101:获取当前源码目录下的当前源码文件的特征码,结合当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块。
在实施中,上述装置保存有多个历史源码目录,每个历史源码目录保存有历史源码文件。同时,当前源码目录下存储有当前源码文件。上述源码文件是指待编译的文件,这些源码文件存储有各个模块的源代码,源码文件的数量由模块的数量决定,模块的数量越多,相应的源码文件的数量也就越多。
可选的,在对当前源码文件进行编译之前,首先需要获取当前源码文件的特征码,特征码可以是md5(Message Digest Algorithm MD5,消息摘要算法第五版)码,也可以是其他能够唯一标识模块的标识码,通过结合当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块,如图2所示,相应的确定流程可以如下:
步骤201:比较当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表。
在实施中,通过比较当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表,以及特征码不同的当前源码文件第二列表,其中,当前源码文件第一列表示出了所有特征码相同的当前源码文件的名称,当前源码文件第二列表示出了所有特征码不同的当前源码文件的名称。
可选的,如图3所示,步骤201的具体处理过程,可以如下:
步骤301:根据当前源码目录下的Makefile文件,获取当前源码文件的类型。
在实施中,Makefile文件定义了一系列的规则,其能够指定哪些源码文件需要先编译,哪些源码文件需要后编译,以及哪些源码文件需要重新编译等规则,并且还存储有源码文件的类型,类型可以是项目属性、派生属性等,因此,解析当前源码目录下的Makefile文件,能够获取当前源码文件的类型。同时,还需要解析历史源码目录下的Makefile文件,获取历史源码文件的类型。上述类型可以是项目属性,通过比对当前源码文件的项目属性类型和历史源码文件的项目属性类型,可以得知当前源码文件和历史源码文件是否是同一项目或者类似项目,或者同一项目或者类似项目的派生项目,以及同一项目或者类似项目的周期性编译项目。
步骤302:根据当前源码文件的类型,确定与当前源码文件的类型相同的目标历史源码文件,根据目标历史源码文件,确定保存有目标历史源码文件的多个历史源码目录中的目标历史源码目录。
在实施中,类型相同可以是项目属性相同或相似。需要说明的是,类型相同或相似的目标历史源码文件具有更好的使用效果,这是因为在项目相同或相似时,当前源码目录和历史源码目录中会存在相同的源码文件,并且具有同样的调用关系,例如该当前源码文件所属的项目是一具体项目的周期性编译项目,或者是一具体项目的派生项目,这一具体项目对应的历史源码文件的类型和当前源码文件的类型相同时,能达到较好的相互之间可替代使用效果。
步骤303:比较当前源码文件的特征码和目标历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表。
在实施中,由于存在有多个历史源码目录,因此存在特征码相同的属于不同历史源码目录的历史源码文件,对于这种情况,需要通过源码文件的类型来确定这些历史源码目录中使用效果更好的目标历史源码目录,从而确定与当前源码文件进行特征码比较的历史源码文件。
需要说明的是,如果没有类型相同的目标历史源码文件,可以按照特征码相同的源码文件数量从高到底的顺序,选取特征码相同数量最多的历史源码文件所在的历史源码目录,确定与当前源码文件进行特征码比较的历史源码文件。
步骤202:根据当前源码文件第二列表,确定待编译模块。
在实施中,对于当前源码文件第二列表所列出的当前源码文件,由于目标历史源码目录不存在与其特征码相同的历史源码文件,从而不存在与当前源码文件第二列表所列出的当前源码文件对应的目标历史编译文件,因此,当前源码文件第二列表所列出的当前源码文件所对应的模块需要进行编译,即为待编译模块。
步骤203:根据当前源码文件第一列表,确定不编译模块。
在实施中,对于当前源码文件第一列表所列出的当前源码文件,由于目标历史源码目录存在与其特征码相同的历史源码文件,从而存在与当前源码文件第一列表所列出的当前源码文件对应的目标历史编译文件,可以将对应的目标历史编译文件作为当前源码文件的目标编译文件,因此,当前源码文件第一列表所列出的当前源码文件不需要编译,即为不编译模块。
步骤102:根据不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定不编译模块对应的目标历史编译文件,将目标历史编译文件添加到当前编译目的文件夹的目标位置。
在实施中,在确定了不编译模块对应的目标历史编译文件后,将目标历史编译文件通过拷贝或者软链的方式,添加到当前编译目的文件夹的目标位置,能够避免编译依赖导致的报错,从而减少了需要编译的模块数量,从而可以节省大量的编译时间。
可选的,根据不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定不编译模块对应的目标历史编译文件,如图4所示,相应的处理过程可以如下:
步骤401:根据目标历史源码目录,确定多个历史编译目的文件夹中的目标历史编译目的文件夹。
在实施中,由于目标历史编译目的文件夹和目标历史源码目录是在同一次编译过程中生成的,因此,目标历史编译目的文件夹和目标历史源码目录之间存在有映射联系,该映射关系是编译生成的产物之一,根据该映射关系,可以确定出多个历史编译目的文件夹中的目标历史编译目的文件夹。
步骤402:根据不编译模块和目标历史编译目的文件夹下的历史编译文件,确定不编译模块对应的目标历史编译文件。
在实施中,目标历史编译目的文件夹中的历史编译文件和目标历史源码目录下的历史源码文件同样存在有映射联系,在确定不编译模块对应的目标历史源码文件后,根据该映射关系,可以确定目标历史源码文件对应的目标历史编译文件,从而确定了不编译模块对应的目标历史编译文件。
步骤103:根据待编译模块,生成编译模块列表,按照编译模块列表和目标历史编译文件,对当前源码文件进行编译,生成当前编译文件。
在实施中,该装置按照编译模块列表和目标历史编译文件,对当前源码文件进行选择性编译,即只编译待编译模块对应的当前源码文件,由于在当前编译目的文件夹的目标位置已存在不编译模块对应的目标历史编译文件,在对待编译模块进行编译时,能够避免编译依赖导致的报错,从而完成编译,生成当前编译文件。
可选的,本方法还包括:保存当前源码目录和当前源码目录下的当前源码文件,以及当前编译目的文件夹和当前编译目的文件夹下的当前编译文件。
在实施中,待当前编译完成后,保存的当前源码目录和当前源码目录下的当前源码文件,以及当前编译目的文件夹和当前编译目的文件夹下的当前编译文件,作为历史源码目录和历史源码目录下的历史源码文件,以及历史编译目的文件夹和历史编译目的文件夹下的历史编译文件。
需要说明的是,为了提高装置的工作效率,可以通过预设保存总数,来设置保存的上述历史文件的数量,当超过该预设保存总数时,可以通过删除保存时间最久的上述历史文件,来保存新生成的历史文件。需要说明的是,该上述历史文件包括历史源码目录和历史源码目录下的历史源码文件,以及历史编译目的文件夹和历史编译目的文件夹下的历史编译文件。
本发明实施例中,通过获取当前源码目录下的当前源码文件的特征码,结合当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块;根据不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定不编译模块对应的目标历史编译文件,将目标历史编译文件添加到当前编译目的文件夹的目标位置;根据待编译模块,生成编译模块列表,按照编译模块列表和目标历史编译文件,对当前源码文件进行编译,生成当前编译文件;从而减少了需要编译的模块数量,节省了大量的编译时间。
基于相同的技术构思,本发明实施例还提供了一种提高安卓系统编译速度的装置,如图5所示,该装置包括:
第一确定单元501,用于获取当前源码目录下的当前源码文件的特征码,结合所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块;
第二确定单元502,用于根据所述不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件,将所述目标历史编译文件添加到当前编译目的文件夹的目标位置;
编译单元503,用于根据所述待编译模块,生成编译模块列表,按照所述编译模块列表和所述目标历史编译文件,对所述当前源码文件进行编译,生成当前编译文件。
可选的,所述第一确定单元501,还用于:
比较所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表;
根据所述当前源码文件第二列表,确定所述待编译模块;
根据所述当前源码文件第一列表,确定所述不编译模块。
可选的,所述第一确定单元501,还用于:
根据所述当前源码目录下的Makefile文件,获取所述当前源码文件的类型;
根据所述当前源码文件的类型,确定与所述当前源码文件的类型相同的目标历史源码文件,根据所述目标历史源码文件,确定保存有所述目标历史源码文件的所述多个历史源码目录中的目标历史源码目录;
比较所述当前源码文件的特征码和所述目标历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表。
可选的,所述第二确定单元502,还用于:
根据所述目标历史源码目录,确定所述多个历史编译目的文件夹中的目标历史编译目的文件夹;
根据所述不编译模块和所述目标历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件。
可选的,如图6所示,所述装置还包括存储单元504,所述存储单元504,用于保存所述当前源码目录和所述当前源码目录下的当前源码文件,以及所述当前编译目的文件夹和所述当前编译目的文件夹下的当前编译文件。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种提高安卓系统编译速度的方法,其特征在于,所述方法包括:
获取当前源码目录下的当前源码文件的特征码,结合所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块;
根据所述不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件,将所述目标历史编译文件添加到当前编译目的文件夹的目标位置;
根据所述待编译模块,生成编译模块列表,按照所述编译模块列表和所述目标历史编译文件,对所述当前源码文件进行编译,生成当前编译文件。
2.根据权利要求1所述的方法,其特征在于,所述结合所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块,包括:
比较所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表;
根据所述当前源码文件第二列表,确定所述待编译模块;
根据所述当前源码文件第一列表,确定所述不编译模块。
3.根据权利要求2所述的方法,其特征在于,所述比较所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表,包括:
根据所述当前源码目录下的Makefile文件,获取所述当前源码文件的类型;
根据所述当前源码文件的类型,确定与所述当前源码文件的类型相同的目标历史源码文件,根据所述目标历史源码文件,确定保存有所述目标历史源码文件的所述多个历史源码目录中的目标历史源码目录;
比较所述当前源码文件的特征码和所述目标历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表。
4.根据权利要求3所述的方法,其特征在于,所述根据所述不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件,包括:
根据所述目标历史源码目录,确定所述多个历史编译目的文件夹中的目标历史编译目的文件夹;
根据所述不编译模块和所述目标历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
保存所述当前源码目录和所述当前源码目录下的当前源码文件,以及所述当前编译目的文件夹和所述当前编译目的文件夹下的当前编译文件。
6.一种提高安卓系统编译速度的装置,其特征在于,所述装置包括:
第一确定单元,用于获取当前源码目录下的当前源码文件的特征码,结合所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定待编译模块和不编译模块;
第二确定单元,用于根据所述不编译模块和已保存的多个历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件,将所述目标历史编译文件添加到当前编译目的文件夹的目标位置;
编译单元,用于根据所述待编译模块,生成编译模块列表,按照所述编译模块列表和所述目标历史编译文件,对所述当前源码文件进行编译,生成当前编译文件。
7.根据权利要求6所述的装置,其特征在于,所述第一确定单元,还用于:
比较所述当前源码文件的特征码和已保存的多个历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表;
根据所述当前源码文件第二列表,确定所述待编译模块;
根据所述当前源码文件第一列表,确定所述不编译模块。
8.根据权利要求7所述的装置,其特征在于,所述第一确定单元,还用于:
根据所述当前源码目录下的Makefile文件,获取所述当前源码文件的类型;
根据所述当前源码文件的类型,确定与所述当前源码文件的类型相同的目标历史源码文件,根据所述目标历史源码文件,确定保存有所述目标历史源码文件的所述多个历史源码目录中的目标历史源码目录;
比较所述当前源码文件的特征码和所述目标历史源码目录下的历史源码文件的特征码,确定特征码相同的当前源码文件第一列表和特征码不同的当前源码文件第二列表。
9.根据权利要求8所述的装置,其特征在于,所述第二确定单元,还用于:
根据所述目标历史源码目录,确定所述多个历史编译目的文件夹中的目标历史编译目的文件夹;
根据所述不编译模块和所述目标历史编译目的文件夹下的历史编译文件,确定所述不编译模块对应的目标历史编译文件。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括存储单元,所述存储单元,用于保存所述当前源码目录和所述当前源码目录下的当前源码文件,以及所述当前编译目的文件夹和所述当前编译目的文件夹下的当前编译文件。
CN201710898118.4A 2017-09-28 2017-09-28 提高安卓系统编译速度的方法及装置 Pending CN107656736A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710898118.4A CN107656736A (zh) 2017-09-28 2017-09-28 提高安卓系统编译速度的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710898118.4A CN107656736A (zh) 2017-09-28 2017-09-28 提高安卓系统编译速度的方法及装置

Publications (1)

Publication Number Publication Date
CN107656736A true CN107656736A (zh) 2018-02-02

Family

ID=61116587

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710898118.4A Pending CN107656736A (zh) 2017-09-28 2017-09-28 提高安卓系统编译速度的方法及装置

Country Status (1)

Country Link
CN (1) CN107656736A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108287720A (zh) * 2018-02-08 2018-07-17 深圳创维-Rgb电子有限公司 软件编译方法、装置、设备及存储介质
CN109358841A (zh) * 2018-08-15 2019-02-19 中国平安人寿保险股份有限公司 网页应用开发编译方法、装置及存储设备、计算机设备
CN112506796A (zh) * 2020-12-21 2021-03-16 北京百度网讯科技有限公司 数据处理方法、装置、设备以及存储介质
CN113094040A (zh) * 2021-03-08 2021-07-09 南京唯优信息技术有限公司 一种小程序编译方法和装置
CN115033266A (zh) * 2022-08-12 2022-09-09 深圳华龙讯达信息技术股份有限公司 一种基于龙芯指令集的ide开发系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102629259A (zh) * 2012-02-29 2012-08-08 青岛海信移动通信技术股份有限公司 嵌入式系统中只读文件系统建立方法,装置及嵌入式系统
CN105335137A (zh) * 2014-07-23 2016-02-17 国际商业机器公司 用于处理源文件的方法和装置
US20160299748A1 (en) * 2015-04-10 2016-10-13 Oracle International Corporation Declarative program engine for large-scale program analysis
CN107577469A (zh) * 2017-08-21 2018-01-12 厦门悦讯教育科技有限公司 一种软件打包发布管理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102629259A (zh) * 2012-02-29 2012-08-08 青岛海信移动通信技术股份有限公司 嵌入式系统中只读文件系统建立方法,装置及嵌入式系统
CN105335137A (zh) * 2014-07-23 2016-02-17 国际商业机器公司 用于处理源文件的方法和装置
US20160299748A1 (en) * 2015-04-10 2016-10-13 Oracle International Corporation Declarative program engine for large-scale program analysis
CN107577469A (zh) * 2017-08-21 2018-01-12 厦门悦讯教育科技有限公司 一种软件打包发布管理方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108287720A (zh) * 2018-02-08 2018-07-17 深圳创维-Rgb电子有限公司 软件编译方法、装置、设备及存储介质
CN108287720B (zh) * 2018-02-08 2021-06-11 深圳创维-Rgb电子有限公司 软件编译方法、装置、设备及存储介质
CN109358841A (zh) * 2018-08-15 2019-02-19 中国平安人寿保险股份有限公司 网页应用开发编译方法、装置及存储设备、计算机设备
CN109358841B (zh) * 2018-08-15 2024-04-30 中国平安人寿保险股份有限公司 网页应用开发编译方法、装置及存储设备、计算机设备
CN112506796A (zh) * 2020-12-21 2021-03-16 北京百度网讯科技有限公司 数据处理方法、装置、设备以及存储介质
CN113094040A (zh) * 2021-03-08 2021-07-09 南京唯优信息技术有限公司 一种小程序编译方法和装置
CN113094040B (zh) * 2021-03-08 2024-06-28 南京唯优信息技术有限公司 一种小程序编译方法和装置
CN115033266A (zh) * 2022-08-12 2022-09-09 深圳华龙讯达信息技术股份有限公司 一种基于龙芯指令集的ide开发系统

Similar Documents

Publication Publication Date Title
CN107656736A (zh) 提高安卓系统编译速度的方法及装置
US11487772B2 (en) Multi-party data joint query method, device, server and storage medium
Page et al. A practical implementation of the factoring theorem for network reliability
US8806452B2 (en) Transformation of computer programs and eliminating errors
US8972960B2 (en) Optimization of an application to reduce local memory usage
CN110825363B (zh) 智能合约获取方法、装置、电子设备及存储介质
CN106897322A (zh) 一种数据库和文件系统的访问方法和装置
KR101617696B1 (ko) 데이터 정규표현식의 마이닝 방법 및 장치
CN103279427B (zh) 存储标识符的基于散列的管理方法和系统
CN102870116A (zh) 内容匹配方法和装置
CN105260387A (zh) 一种面向海量事务数据库的关联规则分析方法
CN111475196B (zh) 编译告警溯源方法、装置、电子设备及计算机可读介质
CN104537012B (zh) 数据处理方法和装置
CN102982043B (zh) Pe文件的处理方法和装置
CN103902275B (zh) 一种实现应用的语言版本切换的方法和系统
CN107526619A (zh) 版式数据流文件的加载方式
CN110825453A (zh) 基于大数据平台的数据处理方法及装置
CN108132783A (zh) 一种Web App的配置方法及装置
CN107305522A (zh) 用于对应用程序的重复崩溃进行检测的装置和方法
JP2016045929A (ja) ファイルをスキャンするための方法及び装置
CN103136166A (zh) 字体确定方法和设备
CN115309811A (zh) Etl脚本生成方法、装置、存储介质和设备
US8352438B1 (en) Systems and methods for contextual evaluation of files for use in file restoration
CN107330604A (zh) 机票风控规则的管理方法及系统
US6742164B1 (en) Method, system, and program for generating a deterministic table to determine boundaries between characters

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180202

WD01 Invention patent application deemed withdrawn after publication