一种移动端业务模块组件化的配置方法及系统技术方案

技术编号:17704550 阅读:53 留言:0更新日期:2018-04-14 17:38
本发明专利技术提供了一种移动端业务模块组件化的配置方法,包括:将模块源码从项目中独立;配置使模块独立编译、调试和运行的gradle脚本;对代码进行隔离处理;对版本进行优化控制。本发明专利技术能够有效降低代码模块的耦合度,使代码架构更加清晰,使得模块可以与主工程独立开发、运行和调试,同时模块化的编译可以有效减少编译时间。本发明专利技术还公开了一种移动端业务模块组件化的配置系统。

【技术实现步骤摘要】
一种移动端业务模块组件化的配置方法及系统
本专利技术涉及移动端
,尤其涉及一种移动端业务模块组件化的配置方法及系统。
技术介绍
最近几年随着移动互联网的兴起和繁荣,许多公司都将自己在传统平台上的业务移植到了移动端,随着移动客户端的更新迭代,APP上的功能和业务也越来越多,越来越多的代码开始往小小的客户端涌入,尤其是一些航母级应用,各种业务模块都需要在其上面进行推广。而无论是iOS系统还是Android系统,各种客户端的体积也变得臃肿庞大。为了降低大型移动客户端软件开发的复杂性和耦合度,同时也为了适应模块重用、多团队并行开发测试等等需求,迫切需要一种技术能把客户端化整为零,这些模块可以自由组合,并且当部分功能变更时只需要更新对应模块,因此模块的组件化配置在Android平台上应运而生。通常大型的移动客户端均有一个主工程和一些子模块构成,主工程就是客户端的核心业务代码,子模块有网络库,图片库等通用依赖库和登录,分享,游戏等业务模块库,这就是软件开发中的“模块化”。其中通用依赖库一般是一些第三方开源库或者是公司内部统一的基础服务,一般来说改动频率很低。而业务模块库是随着公司业务发展的过程不断更新和迭代的,很有可能是独立于主工程由另一个团队完成的。传统的做法是该模块会以SDK(SoftwareDevelopmentKit,软件开发工具包)或者源码的方式直接集成到主工程中来,然后跟随着主工程的开发和测试流程走。综上所述,现有技术的缺点主要有:1、代码的解耦和隔离:由于模块开发初期一般是以源码方式和主工程一起开发,导致模块和主工程耦合较高,代码也没有隔离,主工程容易误引用到模块中的代码和资源,从而可能会导致一些不易发现的问题。2、模块无法单独运行和调试:由于模块在项目中是以库的形式存在,所以不能单独运行和调试该模块。3、项目编译和构建时间长:每次重新构建项目时每个模块都要重新构建和编译源码,导致多模块的大型项目构建时间很长,影响开发效率。
技术实现思路
有鉴于此,本专利技术提供了一种移动端业务模块组件化的配置方法,能够有效降低代码模块的耦合度,使代码架构更加清晰,使得模块可以与主工程独立开发、运行和调试,同时模块化的编译可以有效减少编译时间。本专利技术提供了一种移动端业务模块组件化的配置方法,所述方法包括:将模块源码从项目中独立;配置使模块独立编译、调试和运行的gradle脚本;对代码进行隔离处理;对版本进行优化控制。优选地,所述将模块源码从项目中独立包括:新建依赖库模块、本模块和一个空的Demo主工程,所述Demo主工程作为程序入口跳转到所述本模块。优选地,所述配置使模块独立编译、调试和运行的gradle脚本包括:在gradle的属性文件中配置标识模块是否可以独立运行的变量IsBuildModule;新建清单文件,在所述清单文件中指定程序入口的activity;在Demo主工程中基于所述变量IsBuildModule判断是否编译模块库。优选地,所述对代码进行隔离处理包括:通过在资源名前添加前缀进行解耦模块间的跳转。优选地,所述对版本进行优化控制包括:将生成的AAR文件发布到远程仓库。一种移动端业务模块组件化的配置系统,包括:独立模块,用于将模块源码从项目中独立;配置模块,用于配置使模块独立编译、调试和运行的gradle脚本;隔离处理模块,用于对代码进行隔离处理;优化控制模块,用于对版本进行优化控制。优选地,所述独立模块包括:新建单元,用于新建依赖库模块、本模块和一个空的Demo主工程,所述Demo主工程作为程序入口跳转到所述本模块。优选地,所述配置模块,包括:标识配置单元,用于在gradle的属性文件中配置标识模块是否可以独立运行的变量IsBuildModule;指定单元,用于新建清单文件,在所述清单文件中指定程序入口的activity;判断单元,用于在Demo主工程中基于所述变量IsBuildModule判断是否编译模块库。优选地,所述隔离处理模块包括:添加单元,用于在资源名前添加前缀进行解耦模块间的跳转。优选地,所述优化控制模块包括:发布单元,用于将生成的AAR文件发布到远程仓库。从上述技术方案可以看出,本专利技术提供了一种移动端业务模块组件化的配置方法,首先将模块源码从项目中独立,然后配置使模块独立编译、调试和运行的gradle脚本,对代码进行隔离处理以及对版本进行优化控制,能够有效降低代码模块的耦合度,使代码架构更加清晰,使得模块可以与主工程独立开发、运行和调试,同时模块化的编译可以有效减少编译时间。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术公开的一种移动端业务模块组件化的配置方法实施例1的方法流程图;图2为本专利技术公开的一种移动端业务模块组件化的配置方法实施例2的方法流程图;图3为本专利技术公开的一种移动端业务模块组件化的配置方法实施例3的方法流程图;图4为本专利技术公开的一种移动端业务模块组件化的配置方法实施例4的方法流程图;图5为本专利技术公开的一种移动端业务模块组件化的配置方法实施例5的方法流程图;图6为本专利技术公开的一种移动端业务模块组件化的配置系统实施例1的结构示意图;图7为本专利技术公开的一种移动端业务模块组件化的配置系统实施例2的结构示意图;图8为本专利技术公开的一种移动端业务模块组件化的配置系统实施例3的结构示意图;图9为本专利技术公开的一种移动端业务模块组件化的配置系统实施例4的结构示意图;图10为本专利技术公开的一种移动端业务模块组件化的配置系统实施例5的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,为本专利技术公开的一种移动端业务模块组件化的配置方法的实施例1的流程图,所述方法可以包括以下步骤:S101、将模块源码从项目中独立;当需要对移动端业务模块组件化进行配置时,首先新建模块工程,将模块源码从项目中独立出来。S102、配置使模块独立编译、调试和运行的gradle脚本;当将模块源码从项目中独立出来后,进一步配置脚本gradle使模块组件化,达到独立编译、调试和运行。S103、对代码进行隔离处理;然后进一步对一些代码进行隔离,对于代码隔离,主要工作即代码混淆S104、对版本进行优化控制。并且进一步对版本进行优化控制。综上所述,在上述实施例中,首先将模块源码从项目中独立,然后配置使模块独立编译、调试和运行的gradle脚本,对代码进行隔离处理以及对版本进行优化控制,能够有效降低代码模块的耦合度,使代码架构更加清晰,使得模块可以与主工程独立开发、运行和调试,同时模块化的编译可以有效减少编译时间。如图2所示,为本专利技术公开的一种移动端业务模块组件化的配置方法的实施例2的流程图,所述方法可以包括以下步骤:S201、新建依赖库模块、本模块和一个空的De本文档来自技高网
...
一种移动端业务模块组件化的配置方法及系统

【技术保护点】
一种移动端业务模块组件化的配置方法,其特征在于,所述方法包括:将模块源码从项目中独立;配置使模块独立编译、调试和运行的gradle脚本;对代码进行隔离处理;对版本进行优化控制。

【技术特征摘要】
1.一种移动端业务模块组件化的配置方法,其特征在于,所述方法包括:将模块源码从项目中独立;配置使模块独立编译、调试和运行的gradle脚本;对代码进行隔离处理;对版本进行优化控制。2.根据权利要求1所述的方法,其特征在于,所述将模块源码从项目中独立包括:新建依赖库模块、本模块和一个空的Demo主工程,所述Demo主工程作为程序入口跳转到所述本模块。3.根据权利要求2所述的方法,其特征在于,所述配置使模块独立编译、调试和运行的gradle脚本包括:在gradle的属性文件中配置标识模块是否可以独立运行的变量IsBuildModule;新建清单文件,在所述清单文件中指定程序入口的activity;在Demo主工程中基于所述变量IsBuildModule判断是否编译模块库。4.根据权利要求3所述的方法,其特征在于,所述对代码进行隔离处理包括:通过在资源名前添加前缀进行解耦模块间的跳转。5.根据权利要求4所述的方法,其特征在于,所述对版本进行优化控制包括:将生成的AAR文件发布到远程仓库。6.一种移动端业务模块组件化的配置系统...

【专利技术属性】
技术研发人员:高枫
申请(专利权)人:北京搜狐新动力信息技术有限公司
类型:发明
国别省市:北京,11

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

1