一种编译处理方法及装置、电子设备的制造方法

文档序号:10511978阅读:152来源:国知局
一种编译处理方法及装置、电子设备的制造方法
【专利摘要】本发明提供一种编译处理方法及装置、电子设备。所述方法包括:在接收到编译指令时,将当前系统的代码库中所有代码进行编译,获得编译后的文件,该文件均携带有运营商标识;查看所述文件的运营商标识,获取每一运营商标识的文件目录;针对当前系统支持的每一运营商标识,将每一运营商标识的文件目录对应的文件进行镜像处理,获得对应每一运营商标识的镜像文件。上述方法解决现有技术中编译时间长,且工作效率低的问题。
【专利说明】
_种编译处理方法及装置、电子设备
技术领域
[0001]本发明涉及一种互联网技术,尤其涉及一种编译处理方法及装置、电子设备。
【背景技术】
[0002]随着制造商手机业务不断发展,同一手机需要支持越来越多的运营商/厂商如中国移动、中国联通、中国电信等。由此,基于android代码库的手机中,android代码库的大小以及编译时间也随着android版本的不断升级而变的越来越巨大。编译时间指的是针对将android代码库的代码编译成目标程序的时间。
[0003]针对android手机,在现有的编译机制下,手机支持的每个运营商拥有独立的代码库并进行独立编译。例如,对于某一品牌的手机产品来说,若该手机支持5个独立的运营商,在系统更新时,需要对每个运营商的android代码库进行更新,且独立编译,获得该运营商的目标程序。由此,导致android代码库大小以及编译时间将会以5倍的级数增长。
[0004]为此,如何在一个产品中支持多个运营商时有效降低编译时间成为当前需要解决的问题。

【发明内容】

[0005]针对现有技术中的缺陷,本发明提供一种编译处理方法及装置、电子设备,能够解决现有技术中编译时间长,且工作效率低的问题。
[0006]第一方面,本发明提供一种编译处理方法,包括:
[0007]在接收到编译指令时,将当前系统的代码库中所有代码进行编译,获得编译后的文件,该文件均携带有运营商标识;
[0008]查看所述文件的运营商标识,获取每一运营商标识的文件目录;
[0009]针对当前系统支持的每一运营商标识,将每一运营商标识的文件目录对应的文件进行镜像处理,获得对应每一运营商标识的镜像文件。
[0010]可选地,若当前系统支持的运营商标识为两个以上,则编译后的文件中的运营商标识为一个以上。
[0011]可选地,若当前系统的代码库为android代码库,则将当前系统的代码库中所有代码进行编译,获得编译后的文件的步骤之前,所述方法还包括:
[0012]判断系统变量BUILD_EVERYTHING_BY_DEFAULT的值是否是真true,若是,则执行将当前系统的代码库中所有代码进行编译,获得编译后的文件的步骤。
[0013]可选地,所述编译后的文件为运行该文件所携带的运营商标识所属运营商所需的目标程序。
[0014]第二方面,本发明提供一种编译处理装置,包括:
[0015]编译单元,用于在接收到编译指令时,将当前系统的代码库中所有代码进行编译,获得编译后的文件,该文件均携带有运营商标识;
[0016]文件目录获取单元,用于查看所述文件的运营商标识,获取每一运营商标识的文件目录;
[0017]镜像处理单元,用于针对当前系统支持的每一运营商标识,将每一运营商标识的文件目录对应的文件进行镜像处理,获得对应每一运营商标识的镜像文件。
[0018]可选地,若当前系统支持的运营商标识为两个以上,则编译后的文件中的运营商标识为一个以上。
[0019]可选地,若当前系统的代码库为android代码库,则所述装置还包括:判断单元;
[0020]所述判断单元,用于在所述编译单元进行编译之前,判断系统变量BUILD_EVERYTHING_BY_DEFAULT 的值是否是真 true ;
[0021]相应地,所述编译单元,具体用于,在所述判断单元判断所述系统变量的值为真时,将当前系统的代码库中所有代码进行编译,获得编译后的文件。
[0022]可选地,所述编译后的文件为运行该文件所携带的运营商标识所属运营商所需的目标程序。
[0023]第三方面,本发明提供一种电子设备,包括上述任一所述的编译处理装置。
[0024]由上述技术方案可知,本发明的编译处理方法及装置、电子设备,所有厂商即运营商共享同一代码库,在一次编译流程中,将所有运营商需要的目标程序即文件全部编译出来,进而根据每一文件中的运营商标识,获得每一运营商标识的文件目录,以获取每一运营商标识的镜像文件,可有效降低所有运营商的代码库的占用空间,同时降低现有技术中每一运营商独立编译的编译时间,提高工作效率,提升用户体验。
【附图说明】
[0025]图1为本发明一实施例提供的编译处理方法的流程示意图;
[0026]图2A和图2B分别为本发明另一实施例提供的编译处理方法的流程示意图;
[0027]图3为本发明一实施例提供的编译处理装置的结构示意图。
【具体实施方式】
[0028]下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0029]图1示出了本发明一实施例提供的编译处理方法的流程示意图,如图1所示,编译处理方法包括如下步骤:
[0030]101、在接收到编译指令时,将当前系统的代码库中所有代码进行编译,获得编译后的文件,该文件均携带有运营商标识。
[0031]需要说明的是,当前系统的代码库中所有待编译的代码中携带有该代码所支持的运营商标识,进而编译后的文件中均携带支持的有运营商标识。
[0032]在本实施例中,若当前系统支持的运营商标识为两个以上,则编译后的文件中携带的运营商标识可为一个或两个以上。
[0033]在本实施例中,编译后的文件可为运行该文件携带的运营商标识所属运营商所需的目标程序。即,本实施例中所有厂商/运营商共享同一代码库,在一次编译流程中,将所有运营商需要的目标程序即文件全部编译出来。
[0034]102、查看所述文件的运营商标识,获取每一运营商标识的文件目录。
[0035]举例来说,若当前系统的代码库为android代码库,则每一运营商标识的文件目录为 vendor_installed_modules.txt,其中,vendor 为各运营商标识。
[0036]103、针对当前系统支持的每一运营商标识,将每一运营商标识的文件目录对应的文件进行镜像处理,获得对应每一运营商标识的镜像文件。
[0037]本实施例的编译处理方法,所有厂商即运营商共享同一代码库,在一次编译流程中,将所有运营商需要的目标程序即文件全部编译出来,进而根据每一文件中的运营商标识,获得每一运营商标识的文件目录,以获取每一运营商标识的镜像文件,可有效降低所有运营商的代码库的占用空间,同时降低现有技术中每一运营商独立编译的编译时间,提高工作效率,提升用户体验。
[0038]图2A和图2B分别示出了本发明一实施例提供的编译处理方法的流程示意图,如图2A和图2B所示,本实施例的编译处理方法适用于android系统代码库的编译,该编译处理方法包括如下步骤:
[0039]201、判断系统变量BUILD_EVERYTHING_BY_DEFAULT的值是否是真true,若是,执行步骤202,否则,结束。
[0040]202、将当前android代码库中所有代码进行编译,获得编译后的文件,该文件均携带有运营商标识。
[0041]本实施例中,android代码库可为系统更新后的最新的android代码库。另外,android代码库为所有厂商共享的代码库。
[0042]也就是说,通过设置BUILD_EVERYTHING_BY_DEFAULT将代码库中所有的文件全部编译出来。
[0043]203、查看所述文件的运营商标识,获取每一运营商标识的文件目录,如联通运营商对应的文件目录为cmcc_installed_modules.txt、移动运营商对应的文件目录为cu_installed_modules.txt,如图2B所示。在图2B中查看文件标志位即为查找文件的运营商标识。
[0044]204、针对当前系统支持的每一运营商标识,将每一运营商标识的文件目录对应的文件进行镜像处理,获得对应每一运营商标识的镜像文件。
[0045]图2B中的当前系统支持两个运营商标识,如cmcc中国联通和CU中国移动、进而获得cmcc和CU的镜像文件。
[0046]相对比现有技术,本实施例中,调整现有技术中android打包镜像文件策略,在打包镜像文件之前,重构对应该厂商/运营商的文件目录如system目录,将该厂商/运营商需要安装的文件放入该目录中,进而启动system, img镜像文件打包,获得该厂商/运营商的镜像文件。
[0047]本实施例的编译处理方法,可有效降低所有运营商的代码库的占用空间,同时降低现有技术中每一运营商独立编译的编译时间,提高工作效率,提升用户体验。
[0048]图3示出了本发明一实施例提供的编译处理装置的结构示意图,如图3所示,本实施例的编译处理装置包括:编译单元31、文件目录获取单元32、镜像处理单元33 ;
[0049]编译单元31,用于在接收到编译指令时,将当前系统的代码库中所有代码进行编译,获得编译后的文件,该文件均携带有运营商标识;另外,所述编译后的文件为运行该文件所携带的运营商标识所属运营商所需的目标程序。
[0050]文件目录获取单元32,用于查看所述文件的运营商标识,获取每一运营商标识的文件目录;
[0051]镜像处理单元33,用于针对当前系统支持的每一运营商标识,将每一运营商标识的文件目录对应的文件进行镜像处理,获得对应每一运营商标识的镜像文件。
[0052]本实施例中当前系统支持的运营商标识为两个以上,编译后的文件中的运营商标识为一个以上。
[0053]举例来说,本实施例的代码库为android代码库时,编译处理装置还包括图中未示出的判断单元;
[0054]所述判断单元可用于在所述编译单元31进行编译之前,判断系统变量BUILD_EVERYTHING_BY_DEFAULT 的值是否是真 true ;
[0055]相应地,所述编译单元31具体用于,在所述判断单元判断所述系统变量的值为真时,将当前系统的代码库中所有代码进行编译,获得编译后的文件,该文件均携带有运营商标识O
[0056]本实施例的编译处理装置可执行前述图1和图2所示的方法,该处不再详述。本实施例中,所有厂商共用一套代码库,以每个产品支持4个厂商计算,大约可以节约320G空间。所有厂商共用一次编译,以每个产品支持4个厂商计算,大约可以节约3.5小时,效率提升高达70%。
[0057]本实施例的编译处理装置中,编译单元将所有运营商需要的目标程序即文件一次编译过程中全部编译出来,进而根据每一文件中的运营商标识,获得每一运营商标识的文件目录,以获取每一运营商标识的镜像文件,可有效降低所有运营商的代码库的占用空间,同时降低现有技术中每一运营商独立编译的编译时间,提高工作效率,提升用户体验。
[0058]另外,本发明实施例还提供一种电子设备,该电子设备可包括上述任一所述的编译处理装置。该电子设备可为移动终端,如手机。
[0059]本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0060]本领域技术人员可以理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
[0061 ] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种浏览器终端的设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0062]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0063]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
【主权项】
1.一种编译处理方法,其特征在于,包括: 在接收到编译指令时,将当前系统的代码库中所有代码进行编译,获得编译后的文件,该文件均携带有运营商标识; 查看所述文件的运营商标识,获取每一运营商标识的文件目录; 针对当前系统支持的每一运营商标识,将每一运营商标识的文件目录对应的文件进行镜像处理,获得对应每一运营商标识的镜像文件。2.根据权利要求1所述的方法,其特征在于,若当前系统支持的运营商标识为两个以上,则编译后的文件中的运营商标识为一个以上。3.根据权利要求1所述的方法,其特征在于,若当前系统的代码库为android代码库,则将当前系统的代码库中所有代码进行编译,获得编译后的文件的步骤之前,所述方法还包括: 判断系统变量BUILD_EVERYTHING_BY_DEFAULT的值是否是真true,若是,则执行将当前系统的代码库中所有代码进行编译,获得编译后的文件的步骤。4.根据权利要求1所述的方法,其特征在于,所述编译后的文件为运行该文件所携带的运营商标识所属运营商所需的目标程序。5.一种编译处理装置,其特征在于,包括: 编译单元,用于在接收到编译指令时,将当前系统的代码库中所有代码进行编译,获得编译后的文件,该文件均携带有运营商标识; 文件目录获取单元,用于查看所述文件的运营商标识,获取每一运营商标识的文件目录; 镜像处理单元,用于针对当前系统支持的每一运营商标识,将每一运营商标识的文件目录对应的文件进行镜像处理,获得对应每一运营商标识的镜像文件。6.根据权利要求5所述的装置,其特征在于,若当前系统支持的运营商标识为两个以上,则编译后的文件中的运营商标识为一个以上。7.根据权利要求5所述的装置,其特征在于,若当前系统的代码库为android代码库,则所述装置还包括:判断单元; 所述判断单元,用于在所述编译单元进行编译之前,判断系统变量BUILD_EVERYTHING_BY_DEFAULT的值是否是真true ; 相应地,所述编译单元,具体用于,在所述判断单元判断所述系统变量的值为真时,将当前系统的代码库中所有代码进行编译,获得编译后的文件。8.根据权利要求5所述的装置,其特征在于,所述编译后的文件为运行该文件所携带的运营商标识所属运营商所需的目标程序。9.一种电子设备,其特征在于,包括上述权利要求5至权利要求8任一所述的编译处理 目.ο
【文档编号】G06F9/45GK105867989SQ201510718790
【公开日】2016年8月17日
【申请日】2015年10月29日
【发明人】郑超
【申请人】乐视致新电子科技(天津)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1