本发明涉及androidapp(application,应用程序)开发领域,具体涉及一种基于androidapp研发时的项目类型转换方法及系统。
背景技术
在android的研发过中,通常会有一个主项目(即app)和很多第三方的子项目组成,主项目为入口项目。
在项目研发时,为了便于项目的管理,一般会将部分项目转化成对应的lib(静态库)项目来进行开发,最终业务项目是以lib项目的形式包含到app中的。但是在整个研发过程(调试阶段和发布阶段)中,开发人员为了能够方便调试lib项目,需要在调试阶段中将lib项目转变成app的形式来进行开发,而最终生成app(即发布阶段)时又是以lib项目的形式而存在的。
但是,开发人员为了实现将项目类型在lib和app之间转换,需要设置2个模块:lib模块和app模块,不仅提高了研发成本;而且当项目类型由lib转换为app时,通过app模块调用lib模块来实现(lib模块无法独立运行),研发过程比较复杂,不便于人们使用。
技术实现要素:
针对现有技术中存在的缺陷,本发明解决的技术问题为:如何在androidapp开发时,采用1个模块动态转换项目类型。本发明将项目类型在lib和app之间动态转换时,不仅研发成本和难度均较低,而且研发效率较高,非常便于人们使用,适于推广。
为达到以上目的,本发明提供的androidapp研发时的项目类型转换方法,包括以下步骤:
s1:定义isdeubg,isdeubg的属性值代表调试模式或者发布模式,转到s2;
s2:获取isdeubg的属性值,当isdeubg的属性值代表调试模式时,转到s3,当isdeubg的属性值为发布模式时,转到s5;
s3:为当前项目添加app的插件,转到s4;
s4:根据指定路径为当前项目添加app模块的app显示文件,结束;
s5:为当前项目添加lib的插件,转到s6;
s6:根据指定路径为当前项目添加lib模块的lib显示文件,结束。
本发明提供的androidapp研发时的项目类型转换系统,包括模式确定变量设置模块、模式确定变量属性值获取模块、app添加模块和lib添加模块;
模式确定变量设置模块用于:定义isdeubg,isdeubg的属性值代表调试模式或者发布模式;
模式确定变量属性值获取模块用于:获取isdeubg的属性值,当isdeubg的属性值代表调试模式时,向app添加模块发送app添加信号;当isdeubg的属性值为发布模式时,向lib添加模块发送lib添加信号;
app添加模块用于:收到app添加信号后,为当前项目添加app的插件,根据指定路径为当前项目添加app模块的app显示文件;
lib添加模块用于:收到lib添加信号后,为当前项目添加lib的插件,根据指定路径为当前项目添加lib模块的lib显示文件。
与现有技术相比,本发明的优点在于:
(1)参见本发明s1至s6可知,本发明能够通过模式确定变量,来改变androidapp的具体研发阶段是调试阶段还是发布阶段,当调试阶段时,为项目添加app插件和app显示文件,当发布节段时为项目添加lib插件和lib显示文件。因此,与现有技术中设置2个模块实现项目类型在lib和app之间转换相比,本发明仅需1个模块即可完成项目类型在lib和app之间的动态转换,不仅降低了研发成本和难度,而且提高了研发效率,非常便于人们使用,适于推广。
(2)本发明的app显示文件和lib显示文件隶属于同一个文件夹(显示文件夹)、且分开存放,不仅能够便于显示文件的管理,提升用户体验,而且2份显示文件不会互相影响,便于后期的维护。
附图说明
图1为本发明实施例中androidapp研发时的项目类型转换方法的流程图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
首先对androidapp的项目结构进行介绍:
在androidapp项目中的开发模型目前分为两大类:lib库类型和app类型,两者的区别为:
1、lib库类型的模块不能独立运行,可以被其他模块来进行引用,app类型的模块能够独立执行。
2、lib模块和app模块的显示文件(androidmanifest.xml)不同,lib模块的lib显示文件中不能有applicationid(app标识)存在,app模块的app显示文件中必须有applicationid存在。
3、lib模块需要引入lib的插件,app模块需要引入app的插件,即lib模块和app模块的编译插件不同。
在此基础上,参见图1所示,本发明实施例中的androidapp研发时的项目类型转换方法,包括以下步骤:
s1:在android的gradle.properties文件中定义模式确定变量isdeubg,isdeubg能够在gradle脚本中获取到。isdeubg的属性值代表调试模式或者发布模式,在androidapp的项目开发过程中,将isdeubg的属性值设置为调试模式;在androidapp的项目发布过程中,将isdeubg的属性值设置为发布模式,转到s2。
s1的目的为:通过模式确定变量isdeubg,来改变androidapp的具体研发阶段是调试阶段(即调试模式)还是发布阶段(发布模式),以便后续针对具体研发阶段有针对性的工作。
s2:在androidapp项目研发时,通过isdebug.toboolean()的方式,获取isdeubg的属性值,当isdeubg的属性值代表调试模式时,转到s3,当isdeubg的属性值为发布模式时,转到s5。
s3:为当前项目添加app的插件,添加方式为:applyplugin:'com.android.application';添加app的插件后,后续项目的编译行为就会按照插件中的脚本命令来进行编译,转到s4。
s4:根据指定路径为当前项目添加app模块的app显示文件,结束。
s5:为当前项目添加lib的插件,添加方式为:applyplugin:'com.android.library';添加lib的插件后,后续项目的编译行为就会按照插件中的脚本命令来进行编译,转到s6。
s6:根据指定路径为当前项目添加lib模块的lib显示文件,结束。
s4的app显示文件和s6的lib显示文件预先创建,创建方法为:在androidapp项目的根目录下创建显示文件夹,在显示文件夹中创建2个子显示文件夹,在2个子显示文件中,分别创建app显示文件和lib显示文件。s4中的指定路径为app显示文件的创建路径,s6中的指定路径为lib显示文件的创建路径。app显示文件和lib显示文件隶属于同一个文件夹(显示文件夹)、且分开存放,不仅能够便于显示文件的管理,提升用户体验,而且2份显示文件不会互相影响,便于后期的维护。
本发明实施例中的androidapp研发时的项目类型转换系统,包括模式确定变量设置模块、显示文件创建模块、模式确定变量属性值获取模块、app添加模块和lib添加模块。
模式确定变量设置模块用于:在android的gradle.properties文件中定义isdeubg,isdeubg的属性值代表调试模式或者发布模式;在androidapp的项目开发过程中,将isdeubg的属性值设置为调试模式;在androidapp的项目发布过程中,将isdeubg的属性值设置为发布模式。
显示文件创建模块用于:在androidapp项目的根目录下创建显示文件夹,在显示文件夹中创建2个子显示文件夹,在2个子显示文件中,分别创建app显示文件和lib显示文件。
模式确定变量属性值获取模块用于:在androidapp项目研发时,获取isdeubg的属性值,当isdeubg的属性值代表调试模式时,向app添加模块发送app添加信号;当isdeubg的属性值为发布模式时,向lib添加模块发送lib添加信号。
app添加模块用于:收到app添加信号后,为当前项目添加app的插件,根据指定路径(显示文件创建模块创建的app显示文件的路径)为当前项目添加app模块的app显示文件。
lib添加模块用于:收到lib添加信号后,为当前项目添加lib的插件,根据指定路径(显示文件创建模块创建的lib显示文件的路径)为当前项目添加lib模块的lib显示文件。
通过本发明实施例可知,本发明能够通过模式确定变量,来改变androidapp的具体研发阶段是调试阶段还是发布阶段,当调试阶段时,为项目添加app插件和app显示文件,当发布节段时为项目添加lib插件和lib显示文件。因此,与现有技术中设置2个模块实现项目类型在lib和app之间转换相比,本发明仅需1个模块即可完成项目类型在lib和app之间的动态转换,不仅降低了研发成本和难度,而且提高了研发效率,非常便于人们使用,适于推广。
进一步,本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。