CN107908407B - 编译方法、装置及终端设备 - Google Patents

编译方法、装置及终端设备 Download PDF

Info

Publication number
CN107908407B
CN107908407B CN201711308845.7A CN201711308845A CN107908407B CN 107908407 B CN107908407 B CN 107908407B CN 201711308845 A CN201711308845 A CN 201711308845A CN 107908407 B CN107908407 B CN 107908407B
Authority
CN
China
Prior art keywords
compiling
integrated
file
compiled file
compiled
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.)
Active
Application number
CN201711308845.7A
Other languages
English (en)
Other versions
CN107908407A (zh
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 Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo 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 Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201711308845.7A priority Critical patent/CN107908407B/zh
Publication of CN107908407A publication Critical patent/CN107908407A/zh
Application granted granted Critical
Publication of CN107908407B publication Critical patent/CN107908407B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting

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为本发明第四实施例的终端设备的基本结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信***),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位***)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本发明第一实施例提供了一种编译方法,具体流程如图1所示,包括:步骤110,确定待集成的目标设备项目特征;步骤120,基于待集成的目标设备项目特征,将第一编译文件集成至第二编译文件,得到集成后的第二编译文件;步骤130,编译集成后的第二编译文件;其中,第一编译文件为待集成的编译文件,第二编译文件为包含待集成的目标设备项目特征的已有编译文件。
本发明的第一实施例,确定待集成的目标设备项目特征,为后续准确的为待集成的目标设备项目特征进行编译文件的集成提供了前提保障,基于待集成的目标设备项目特征,将第一编译文件集成至第二编译文件,得到集成后的第二编译文件,第一编译文件为待集成的编译文件,第二编译文件为包含待集成的目标设备项目特征的已有编译文件,从而将与新开发的应用或功能或其它内容有关的待集成的编译文件,集成到相应的目标设备已有的编译文件中,便于后续该目标设备在运行已有的编译文件时一同运行该待集成的编译文件,编译集成后的第二编译文件,即对集成有第一编译文件的第二编译文件进行编译,从而生成相应的可执行文件及其它的一些可用文件或参数等,使得终端设备通过运行已生成的可执行文件及其它的一些可用文件或参数等支持相应的应用或功能或其它内容。
下面对本发明第一实施进行详细介绍,具体如下所示:
虽然,本发明实施例的编译方法是基于对安卓操作***的终端设备进行集成而开发出的,主要适用于安卓开发及基于安卓的开发平台,但是,本发明实施例所涉及到的编译方法也可以适应性地移植到基于其它操作***的终端设备中,例如linux操作***的终端设备、ios操作***的终端设备等,下面将以安卓为例对本发明实施例的编译方法进行详细介绍。
在步骤110中,确定待集成的目标设备项目特征。
优选地,确定待集成的目标设备项目特征,包括:确定待集成的目标设备在编译过程中对应的编译脚本;基于编译脚本,确定待集成的目标设备项目特征;项目特征包括以下至少一项:设备类型,设备型号。
具体地,在进行编译工作的时候需要先找到设备的项目特征,例如设备厂商、类型、型号等;其由于编译不同的设备会选择不同的编译脚本,因此安卓在编译一个工程时需要选定编译的具体设备,编译脚本中包括有设备的厂商、类型、型号等设备基本信息(即设备项目特征),因此,需要先找到相应的项目目录,再根据项目目录下的设备项所对应的编译脚本,确定出待集成的目标设备项目特征。
在步骤120中,基于待集成的目标设备项目特征,将第一编译文件集成至第二编译文件,得到集成后的第二编译文件。
优选地,将第一编译文件集成至第二编译文件,具体包括:将第一编译文件对应的编译规则集成至第二编译文件对应的编译规则中。
优选地,将第一编译文件对应的编译规则集成至第二编译文件对应的编译规则,包括:确定加载第二编译文件对应的编译规则的程序入口;在程序入口处,加载第一编译文件对应的编译规则。
具体地,第一编译文件为待集成的编译文件,也即与新开发的应用或功能或其它内容有关的编译文件,例如开发者新开发的一套代码,第二编译文件为包含待集成的目标设备项目特征的已有编译文件,即现有的基于安卓的终端设备已经事先开发好的编译文件,例如,已经集成到终端设备中的代码。
进一步地,安卓在进行编译的时候通常是通过make命令来执行,而make命令执行时,需要通过makefile文件来通知make命令编译和链接程序的方式,也即基于makefile文件来编译工程,因此,在执行编译的时候make是命令工具,通过make命令解释makefile中的指令,在makefile文件中描述了整个工程所有文件的编译顺序、编译规则,而make命令是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作。因此,待集成的编译文件包括一个或多个makefile文件,已有编译文件包括一个或多个makefile文件,同时,在makefile文件中定义一系列的规则来指定文件的编译顺序、需重新编译的文件,甚至于进行更复杂的功能操作。
进一步地,由于makefile是描述编译规则的,所以在将第一编译文件集成至第二编译文件时,就相当于是将第一编译文件(包括一个或多个makefile文件)对应的编译规则集成至第二编译文件(包括一个或多个makefile文件)对应的编译规则中。
通常,安卓***中包括项目目录(即根目录),该项目目录下包括有设备项,设备项下包括多个不同机型的设备,每个机型的设备对应一套编译脚本,安卓***通过在程序入口处加载每个机型的设备所对应的编译脚本来完成编译,其中,安卓***的程序入口为lunch函数。具体的,在安卓***中,通过在程序入口处输入相应的执行命令,例如安卓***中的make命令,来执行各个机型的设备所对应的编译脚本,其中,各个机型的设备通过预先定义的唯一标识来区分,例如device1,device2等。也即安卓***在执行各个机型的设备所对应的编译脚本时,通过在lunch函数处输入相应的执行命令make来执行编译脚本,其中,具体需要执行的编译脚本通过预先定义的机型的设备的唯一标识来指定,可以用相应的程序代码表示为:lunch->make->device1/device2…。
于是,若要将待集成的第一编译文件集成至已有的第二编译文件中,且使得目标设备在执行已有的编译文件时一同执行该待集成的编译文件,则需要在输入相应的执行编译的命令之前,通过预定处理方式,加载该待集成的编译文件(包括一个或多个makefile文件),即先将待集成的编译文件加载至程序入口处,再输入相应的执行编译的命令,从而在通过该执行编译的命令对已有的编译文件执行编译时,一同把待集成的编译文件执行编译。假如用porting表示待集成的编译文件或其存放目录,则将待集成的编译文件加载至程序入口处可以表示为:lunch->porting,然后再输入相应的执行编译的命令make及通过预先定义的机型设备的唯一标识来指定具体需要执行的编译脚本,于是,执行编译的过程可以相应的表示为:lunch->porting->make->device1/device2…。
需要说明的是,通过上述方法可以将待集成的编译文件同时集成至多个目标设备中,用户只需要在make命令后同时指定相应的多个预先定义的机型设备的唯一标识即可,从而极大减少了专业技术人员在集成编译文件时的耗时,显著提高工作效率。
在步骤130中,编译集成后的第二编译文件。
具体地,编译集成后的第二编译文件,即对集成有第一编译文件的第二编译文件进行编译,从而生成相应的可执行文件及其它的一些可用文件或参数等,使得终端设备通过运行已生成的可执行文件及其它的一些可用文件或参数等支持相应的应用或功能或其它内容。
本发明的第二实施例提供了一种编译方法,本发明第二实施例在第一实施例的基础上做了进一步改进,主要改进之处在于:在本发明第二实施例中,还进一步保存编译集成后的第二编译文件生成的配置参数,具体如图2所示。
其中,步骤210至步骤230与本发明第一实施例的步骤110至步骤130基本一致,在此不再赘述。
步骤240:保存编译集成后的第二编译文件生成的配置参数。
具体地,对集成有第一编译文件的第二编译文件进行编译时,在编译过程中会生成一系列的配置参数或其它可用文件,其中,配置参数中不仅包括已有编译文件的相关配置参数,还包括待集成的编译文件的相关配置参数,终端设备基于生成的配置参数为用户提供相应的功能或应用的支持,一旦丢失或损坏其中的任一个配置参数,都可能导致终端设备无法使用,给用户带来不必要的麻烦,因此,将这些配置参数保存至预定存储区域,为终端设备的正常运行提供了可靠保障。
本发明实施例,通过保存编译集成后的第二编译文件生成的配置参数,为终端设备基于这些配置参数正常运行提供了可靠保障。
本发明的第三实施例涉及一种装置,如图3所示,具体包括:确定模块300,集成模块310及编译模块320。具体地:
确定模块300,用于确定待集成的目标设备项目特征;
集成模块310,用于基于待集成的目标设备项目特征,将第一编译文件集成至第二编译文件,得到集成后的第二编译文件;
编译模块320,用于编译集成后的第二编译文件;
其中,第一编译文件为待集成的编译文件,第二编译文件为包含待集成的目标设备项目特征的已有编译文件。
优选地,确定模块300具体包括确定编译脚本子模块301与确定项目特征子模块302,具体如图4所示,其中,确定编译脚本子模块301,用于确定待集成的目标设备在编译过程中对应的编译脚本;确定项目特征子模块302,用于基于编译脚本,确定待集成的目标设备项目特征;项目特征包括以下至少一项:设备类型,设备型号。
优选地,集成模块310具体用于将第一编译文件对应的编译规则集成至第二编译文件对应的编译规则中。
优选地,集成模块310包括确定程序入口子模块311与加载子模块312,具体如图4所示,其中,确定程序入口子模块311,用于确定加载第二编译文件对应的编译规则的程序入口;加载子模块312,用于在程序入口处,加载第一编译文件对应的编译规则。
优选地,该装置还包括保存模块330,具体如图4所示,其中,保存模块330,用于保存编译集成后的第二编译文件生成的配置参数。
优选地,该装置适用于安卓操作***的开发及基于安卓操作***的开发平台。
本发明实施例,确定待集成的目标设备项目特征,为后续准确的为待集成的目标设备项目特征进行编译文件的集成提供了前提保障,基于待集成的目标设备项目特征,将第一编译文件集成至第二编译文件,得到集成后的第二编译文件,第一编译文件为待集成的编译文件,第二编译文件为包含待集成的目标设备项目特征的已有编译文件,从而将与新开发的应用或功能或其它内容有关的待集成的编译文件,集成到相应的目标设备已有的编译文件中,便于后续该目标设备在运行已有的编译文件时一同运行该待集成的编译文件,编译集成后的第二编译文件,即对集成有第一编译文件的第二编译文件进行编译,从而生成相应的可执行文件及其它的一些可用文件或参数等,使得终端设备通过运行已生成的可执行文件及其它的一些可用文件或参数等支持相应的应用或功能或其它内容。
本发明第四实施例提供了一种终端设备,如图5所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括台式电脑、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、手机、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:
图5示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图5,手机包括:射频(Radio Frequency,RF)电路510、存储器520、输入单元530、显示单元540、传感器550、音频电路560、无线保真(wireless fidelity,WiFi)模块570、处理器580、以及电源590等部件。本领域技术人员可以理解,图5中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图5对手机的各个构成部件进行具体的介绍:
RF电路510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器580处理;另外,将设计上行的数据发送给基站。通常,RF电路510包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路510还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器520可用于存储软件程序以及模块,处理器580通过运行存储在存储器520的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元530可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元530可包括触控面板531以及其他输入设备532。触控面板531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板531上或在触控面板531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器580,并能接收处理器580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板531。除了触控面板531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元540可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元540可包括显示面板541,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板541。进一步的,触控面板531可覆盖显示面板541,当触控面板531检测到在其上或附近的触摸操作后,传送给处理器580以确定触摸事件的类型,随后处理器580根据触摸事件的类型在显示面板541上提供相应的视觉输出。虽然在图5中,触控面板531与显示面板541是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板531与显示面板541集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板541的亮度,接近传感器可在手机移动到耳边时,关闭显示面板541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路560、扬声器561,传声器562可提供用户与手机之间的音频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出;另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出处理器580处理后,经RF电路510以发送给比如另一手机,或者将音频数据输出至存储器520以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块570,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器580是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器580可包括一个或多个处理单元;优选的,处理器580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器580中。
手机还包括给各个部件供电的电源590(比如电池),优选的,电源可以通过电源管理***与处理器580逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该终端所包括的处理器580还具有以下功能:
确定待集成的目标设备项目特征;
基于待集成的目标设备项目特征,将第一编译文件集成至第二编译文件,得到集成后的第二编译文件;
编译集成后的第二编译文件;
其中,第一编译文件为待集成的编译文件,第二编译文件为包含待集成的目标设备项目特征的已有编译文件。
优选地,确定待集成的目标设备项目特征,包括:
确定待集成的目标设备在编译过程中对应的编译脚本;
基于编译脚本,确定待集成的目标设备项目特征;
项目特征包括以下至少一项:设备类型,设备型号。
优选地,将第一编译文件集成至第二编译文件,具体包括:
将第一编译文件对应的编译规则集成至第二编译文件对应的编译规则中。
优选地,将第一编译文件对应的编译规则集成至第二编译文件对应的编译规则,包括:
确定加载第二编译文件对应的编译规则的程序入口;
在程序入口处,加载第一编译文件对应的编译规则。
优选地,在编译集成后的第二编译文件之后,还包括:保存编译集成后的第二编译文件生成的配置参数。
优选地,该方法适用于安卓操作***的开发及基于安卓操作***的开发平台。
本发明第五实施例,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的编译方法。
本发明第六实施例,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;存储器用于存放至少一可执行指令,可执行指令使处理器执行上述的编译方法对应的操作。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种编译方法,其特征在于,包括:
确定待集成的目标设备项目特征;
基于待集成的目标设备项目特征,将第一编译文件集成至第二编译文件,得到集成后的第二编译文件;
编译所述集成后的第二编译文件;
其中,所述第一编译文件为待集成的编译文件,所述第一编译文件为新开发的应用或功能的编译文件,所述第二编译文件为包含待集成的目标设备项目特征的已有编译文件;
其中,所述基于待集成的目标设备项目特征,将第一编译文件集成至第二编译文件,得到集成后的第二编译文件,包括:
将所述第一编译文件加载至程序入口处;
获取所述待集成的目标设备项目特征对应的第二编译文件;
将第一编译文件集成至所述第二编译文件,得到集成后的第二编译文件;
所述编译所述集成后的第二编译文件,包括:
接收编译指令,编译所述第二编译文件的同时编译所述第一编译文件。
2.根据权利要求1所述的方法,其特征在于,所述确定待集成的目标设备项目特征,包括:
确定待集成的目标设备在编译过程中对应的编译脚本;
基于所述编译脚本,确定待集成的目标设备项目特征;
所述项目特征包括以下至少一项:设备类型,设备型号。
3.根据权利要求1或2所述的方法,其特征在于,所述将第一编译文件集成至第二编译文件,具体包括:
将第一编译文件对应的编译规则集成至第二编译文件对应的编译规则中。
4.根据权利要求3所述的方法,其特征在于,所述将第一编译文件对应的编译规则集成至第二编译文件对应的编译规则,包括:
确定加载第二编译文件对应的编译规则的程序入口;
在所述程序入口处,加载所述第一编译文件对应的编译规则。
5.根据权利要求4所述的方法,其特征在于,在所述编译所述集成后的第二编译文件之后,还包括:保存编译所述集成后的第二编译文件生成的配置参数。
6.根据权利要求4所述的方法,其特征在于,该方法适用于安卓操作***的开发及基于安卓操作***的开发平台。
7.一种编译装置,其特征在于,包括:
确定模块,用于确定待集成的目标设备项目特征;
集成模块,用于基于待集成的目标设备项目特征,将第一编译文件集成至第二编译文件,得到集成后的第二编译文件;
编译模块,用于编译所述集成后的第二编译文件;
其中,所述第一编译文件为待集成的编译文件,所述第一编译文件为新开发的应用或功能的编译文件,所述第二编译文件为包含待集成的目标设备项目特征的已有编译文件;
其中,所述集成模块,用于基于待集成的目标设备项目特征,将第一编译文件集成至第二编译文件,得到集成后的第二编译文件时,具体用于:
将所述第一编译文件加载至程序入口处;
获取所述待集成的目标设备项目特征对应的第二编译文件;
将第一编译文件集成至所述第二编译文件,得到集成后的第二编译文件;
所述编译模块,用于编译所述集成后的第二编译文件时,具体用于:
接收编译指令,编译所述第二编译文件的同时编译所述第一编译文件。
8.根据权利要求7所述的装置,其特征在于,所述确定模块具体包括确定编译脚本子模块与确定项目特征子模块;
所述确定编译脚本子模块,用于确定待集成的目标设备在编译过程中对应的编译脚本;
所述确定项目特征子模块,用于基于所述编译脚本,确定待集成的目标设备项目特征;
所述项目特征包括以下至少一项:设备类型,设备型号。
9.根据权利要求7或8所述的装置,其特征在于,所述集成模块具体用于将第一编译文件对应的编译规则集成至第二编译文件对应的编译规则中。
10.根据权利要求9所述的装置,其特征在于,所述集成模块包括确定程序入口子模块与加载子模块;
所述确定程序入口子模块,用于确定加载第二编译文件对应的编译规则的程序入口;
所述加载子模块,用于在所述程序入口处,加载所述第一编译文件对应的编译规则。
11.根据权利要求10所述的装置,其特征在于,该装置还包括保存模块;
所述保存模块,用于保存编译所述集成后的第二编译文件生成的配置参数。
12.根据权利要求10所述的装置,其特征在于,该装置适用于安卓操作***的开发及基于安卓操作***的开发平台。
13.一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-6任一项所述的编译方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现权利要求1-6中任一项所述的编译方法。
15.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6中任一项所述的编译方法对应的操作。
CN201711308845.7A 2017-12-11 2017-12-11 编译方法、装置及终端设备 Active CN107908407B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711308845.7A CN107908407B (zh) 2017-12-11 2017-12-11 编译方法、装置及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711308845.7A CN107908407B (zh) 2017-12-11 2017-12-11 编译方法、装置及终端设备

Publications (2)

Publication Number Publication Date
CN107908407A CN107908407A (zh) 2018-04-13
CN107908407B true CN107908407B (zh) 2021-09-07

Family

ID=61864989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711308845.7A Active CN107908407B (zh) 2017-12-11 2017-12-11 编译方法、装置及终端设备

Country Status (1)

Country Link
CN (1) CN107908407B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109714642B (zh) * 2018-12-29 2022-03-08 深圳Tcl数字技术有限公司 Linux应用复用于智能***的方法、智能电视及存储介质
CN110032390B (zh) * 2019-03-29 2022-09-27 深圳创维-Rgb电子有限公司 一种实现多机型共升级包的方法、存储介质及智能终端
CN110795102B (zh) * 2019-09-27 2023-08-29 上海掌门科技有限公司 模块编译方法、装置、电子设备和计算机可读介质
CN113032035B (zh) * 2019-12-24 2022-07-12 Oppo广东移动通信有限公司 配置文件处理方法、装置以及电子设备
CN112148303B (zh) * 2020-09-28 2024-05-28 Oppo(重庆)智能科技有限公司 文件生成方法、装置、终端及存储介质
CN113031961B (zh) * 2021-03-23 2023-04-07 北京百度网讯科技有限公司 编译方法、编译装置、电子设备、存储介质和程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105607941A (zh) * 2015-11-25 2016-05-25 上海斐讯数据通信技术有限公司 一种安卓项目中配置编译的装置和方法
CN106020921A (zh) * 2016-05-16 2016-10-12 广东天波信息技术股份有限公司 外设应用程序的移植方法及其***
CN106020893A (zh) * 2016-05-26 2016-10-12 北京小米移动软件有限公司 应用安装的方法及装置
CN107273176A (zh) * 2016-04-08 2017-10-20 上海思立微电子科技有限公司 一种适配硬件架构的编译方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814486B2 (en) * 2006-06-20 2010-10-12 Google Inc. Multi-thread runtime system
CN103336707A (zh) * 2013-07-10 2013-10-02 深圳市开立科技有限公司 在安卓***下运行标准c程序的方法和装置
JP6379654B2 (ja) * 2014-05-15 2018-08-29 富士通株式会社 処理実行プログラム、処理実行方法、及び情報処理装置
US10241761B2 (en) * 2014-12-29 2019-03-26 Nvidia Corporation System and method for compiler support for compile time customization of code
CN105468427A (zh) * 2015-11-19 2016-04-06 深圳创维数字技术有限公司 一种自动编译和发布的实现方法及***
CN105446789A (zh) * 2015-11-23 2016-03-30 上海斐讯数据通信技术有限公司 一种内置应用程序到安卓***的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105607941A (zh) * 2015-11-25 2016-05-25 上海斐讯数据通信技术有限公司 一种安卓项目中配置编译的装置和方法
CN107273176A (zh) * 2016-04-08 2017-10-20 上海思立微电子科技有限公司 一种适配硬件架构的编译方法及装置
CN106020921A (zh) * 2016-05-16 2016-10-12 广东天波信息技术股份有限公司 外设应用程序的移植方法及其***
CN106020893A (zh) * 2016-05-26 2016-10-12 北京小米移动软件有限公司 应用安装的方法及装置

Also Published As

Publication number Publication date
CN107908407A (zh) 2018-04-13

Similar Documents

Publication Publication Date Title
CN107908407B (zh) 编译方法、装置及终端设备
CN109241765B (zh) 移动终端和应用程序的权限管理方法、装置
US10186244B2 (en) Sound effect processing method and device, plug-in unit manager and sound effect plug-in unit
CN107908952B (zh) 识别真机和模拟器的方法、装置和终端
CN104598262A (zh) 一种移动应用更新方法及装置
CN106775827B (zh) 一种应用程序更新方法及装置、计算机设备
CN106502703B (zh) 一种函数调用方法和装置
CN106371900B (zh) 一种实现异步调用的数据处理方法及装置
CN106066686B (zh) 一种信息处理方法及终端设备
CN104516812A (zh) 一种软件测试方法和装置
CN107172348B (zh) 移动终端及其运动信号的分发方法和装置
CN108834132B (zh) 一种数据传输方法及设备和相关介质产品
CN110378107B (zh) 一种安装包检测的方法及相关装置
WO2015035947A1 (zh) 一种实现无卡手机的方法、手机和服务器
CN106959859B (zh) ***调用函数的调用方法与装置
CN109240902B (zh) 一种获取电子设备的固件代码的方法和装置
EP2869604B1 (en) Method, apparatus and device for processing a mobile terminal resource
CN107832375A (zh) 图片显示的控制方法、终端以及服务器
CN104809055B (zh) 一种基于云平台的应用程序测试方法和装置
WO2018058436A1 (zh) 一种加载软件程序的方法、用户终端及存储介质
CN112328349A (zh) 一种参数设置方法及相关设备
CN104866288A (zh) 一种访问应用程序的方法、装置及终端
CN109309659B (zh) 移动终端及其登录应用的方法和装置
CN104951324A (zh) 一种获取应用调用关系表的方法及装置
CN105528220B (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
GR01 Patent grant
GR01 Patent grant