目标文件的生成方法技术

技术编号:11859597 阅读:68 留言:0更新日期:2015-08-12 09:56
本发明专利技术公开了一种目标文件的生成方法,包括:建立工程库,所述工程库包含用于实现不同功能的工程;从所述工程库中选取工程进行编译和打包,生成目标文件。采用本发明专利技术提供的方法,能够基于一套工程库(或者说,基于一套代码)灵活地生成具有不同功能的目标文件,从而能够以较低的开发成本和维护成本,生成适用于不同用户的目标文件,提高产品开发效率和用户体验。

【技术实现步骤摘要】

本专利技术涉及软件开发领域,更为具体而言,涉及一种。
技术介绍
随着互联网用户对产品需求的增多,以安卓产品为例,安卓应用程序的功能越来越庞大和复杂,这也导致安卓安装包Apk文件比较大。而实际上,不同用户对于同一产品(例如,百度贴吧)具有不同的功能要求,因此,一个完整且较大的安装包除了增加用户使用成本、更多地消耗用户终端的硬件资源之外,并不会为用户带来更好的体验。此外,现有生成安装包的方法是一套代码打包出一个安装包,换言之,如果要生成多种安装包必须设计多套代码,并且多套代码之间会有大量的冗余逻辑和冗余代码,这无疑增加了维护难度和开发成本。
技术实现思路
为了解决现有技术所存在的缺陷,本专利技术实施方式提供一种,能根据需要灵活地生成具有不同功能的目标文件。本专利技术实施例提供一种,包括:建立工程库,所述工程库包含用于实现不同功能的工程;从所述工程库中选取工程进行编译和打包,生成目标文件。可选地,在本实施例的一种实现方式中,所述建立工程库包括:根据待开发项目的功能建立多个工程,所述多个工程分别用于实现所述待开发项目的不同功能。可选地,在本实施例的另一种实现方式中,所述从所述工程库中选取工程进行编译和打包,生成目标文件,包括:从所述工程库中选取用于实现简版安装包的功能的工程进行编译和打包,生成简版安装包;或,从所述工程库中选取用于实现完整版安装包的功能的工程进行编译和打包,生成完整版安装包;或,从所述工程库中选取用于实现指定功能的工程进行编译和打包,生成插件。可选地,在本实施例的再一种实现方式中,所述方法还包括:为所述工程库中的工程设置编译开关,其中,编译开关处于第一状态的工程用于打包生成安装包,编译开关处于第二状态的工程用于打包生成插件。进一步地,所述从所述工程库中选取工程进行编译和打包,生成目标文件,包括:对选取的工程进行编译,并根据编译开关将选取的工程打包成安装包和/或插件。采用本专利技术实施例具有以下有益效果:通过从工程库中按需选取工程进行编译,能够基于一套工程库(或者说,基于一套代码)灵活地生成具有不同功能的目标文件,从而能够以较低的开发成本和维护成本,生成适用于不同用户的目标文件,提高产品开发效率和用户体验。【附图说明】图1是根据本专利技术实施例的一种的流程示意图。【具体实施方式】以下结合附图和【具体实施方式】对本专利技术的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本专利技术的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或步骤可以按各种不同配置进行组合和设计。图1是根据本专利技术实施例的一种的流程示意图,参照图1,所述方法包括:10:建立工程库,所述工程库包含用于实现不同功能的工程。其中,工程是指,例如,在java开发工具里面新建的project。可选地,在本实施例的一种实现方式中,处理10具体包括:根据待开发项目的功能建立多个工程,该多个工程分别用于实现待开发项目的不同功能。其中,“待开发项目”可以理解为具有完整功能的广品。举例而言,以百度贴吧这一待开发项目而言,可以按照功能将其拆分为贴子页工程、进吧页工程、列表页工程、附近的人工程等工程,每个工程均属于一个独立工程且用于实现百度贴吧这一待开发项目的具体功能。在本实施例中,本领域技术人员可以根据需要灵活地划分待开发项目的功能、确定工程库中的工程数量、设计各工程的具体实现等,本专利技术对此不做具体限制。12:从工程库中选取工程进行编译和打包,生成目标文件。采用本实施例提供的方法,通过建立工程库以及从工程库中按需选取工程进行编译和打包,能够以一套工程库为基础(或者说,能够以一套代码为基础)生成具有不同功能组合的目标文件,进而可以针对不同用户灵活且方便地生成不同的目标文件,提高产品开发效率和用户体验,降低开发和维护成本。可选地,在本实施例的一种实现方式中,处理12可包括:从工程库中选取用于实现简版安装包的功能的工程进行编译和打包,生成相应的简版安装包;从工程库中选取用于实现完整版安装包的功能的工程进行编译和打包,生成完整版安装包;从工程库中选取用于实现指定功能的工程进行编译和打包,生成插件。其中,简版安装包是指具有基本功能的安装包;完整版安装包是指具有所有功能的安装包。本领域技术人员可以灵活定义一个安装包的基本功能,也可以灵活定义一个安装包的全部功能,因此,本专利技术并不对简版安装包和完整版安装包具体包含哪些功能进行具体限制。通过本实现方式能够灵活地生成具有不同功能的安装包,或者生成具有指定功能的插件。所生成的插件可以用于安装以扩展简版安装包的功能。可选地,在本实施例的一种实现方式中,可以为工程库中的工程设置编译开关,其中,编译开关处于第一状态的工程用于打包生成安装包,编译开关处于第二状态的工程用于打包生成插件。当然,如果需要的话还可以将编译开关配置为用于表示不进行打包的第三状态。其中,更为具体地,编译开关可以是工程中的可配置参数。在该实现方式中,利用编译开关可以灵活地生成不同格式的目标文件。例如,在根据文件生成策略选取工程之后,根据所选取工程的编译开关将选取的工程打包成安装包和/或插件。更具体而言,如果选取了多个工程,并且其中的部分工程的编译开关处于第一状态,另一部分工程的编译开关处于第二状态,则将处于第一状态的工程一起打包组成安装包(例如,安卓安装包),将处于第二状态的工程分别打包成插件。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本专利技术可借助软件结合硬件平台的方式来实现。基于这样的理解,本专利技术的技术方案对
技术介绍
做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,智能手机或者网络设备等)执行本专利技术各个实施例或者实施例的某些部分所述的方法。本专利技术说明书中使用的术语和措辞仅仅为了举例说明,并不意味构成限定。本领域技术人员应当理解,在不脱离所公开的实施方式的基本原理的前提下,对上述实施方式中的各细节可进行各种变化。因此,本专利技术的范围只由权利要求确定,在权利要求中,除非另有说明,所有的术语应按最宽泛合理的意思进行理解。【主权项】1.一种,其特征在于,所述方法包括: 建立工程库,所述工程库包含用于实现不同功能的工程; 从所述工程库中选取工程进行编译和打包,生成目标文件。2.如权利要求1所述的方法,其特征在于,所述建立工程库包括: 根据待开发项目的功能建立多个工程,所述多个工程分别用于实现所述待开发项目的不同功能。3.如权利要求1或2所述的方法,其特征在于,所述从所述工程库中选取工程进行编译和打包,生成目标文件,包括: 从所述工程库中选取用于实现简版安装包的功能的工程进行编译和打包,生成简版安装包。4.如权利要求1或2所述的方法,其特征在于,所述从所述工程库中选取工程进行编译和打包,生成目标文件,包括: 从所述工程库中选取用于实现完整版安装包的功能的工程进行编译和打包,生成完整版安装包本文档来自技高网
...

【技术保护点】
一种目标文件的生成方法,其特征在于,所述方法包括:建立工程库,所述工程库包含用于实现不同功能的工程;从所述工程库中选取工程进行编译和打包,生成目标文件。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈超赵林高飞
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京;11

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

1