一种组件中引入库文件的方法及装置制造方法及图纸

技术编号:18444528 阅读:23 留言:0更新日期:2018-07-14 10:13
本发明专利技术提供一种组件中引入库文件的方法及装置,所述方法包括:S1,若监听到文件夹中有待引入库文件加入,则获取所述待引入库文件的属性信息;其中,所述文件夹用于存放目标组件的库文件;S2,根据所述待引入库文件的属性信息,生成所述待引入库文件的配置信息;S3,将所述配置信息注入到所述目标组件或所述目标组件所属主项目的的编译脚本文件中。本发明专利技术实现组件中库文件的自动引入,提高了组件中引入库文件的效率,且降低了错误发生的概率。

A method and device for introducing a file to a library in a component

The present invention provides a method and device for introducing a library file in a component. The method includes: S1, if a file is added to a folder to be added to a folder, the attribute information of the file to be quoted is obtained; the folder is used to store the library and text of the target component; S2, according to the file to be introduced into the library. The property information generates the configuration information of the file to be cited, and S3 inject the configuration information into the compiled script file of the target component or the main project belonging to the target component. The invention realizes the automatic introduction of library files in components, improves the efficiency of introducing files into components, and reduces the probability of error occurrence.

【技术实现步骤摘要】
一种组件中引入库文件的方法及装置
本专利技术属于软件开发领域,更具体地,涉及一种组件中引入库文件的方法及装置。
技术介绍
在Android组件化过程开发过程中,通常将业务功能代码拆分成各个组件,即module。每个组件都具有独立的业务功能。由于每个组件所实现的业务功能是独立的,组件可能会引用第三方或者自己开发的库文件来进行业务功能的实现,此时需要在组件内引入库文件。传统的开发方案中,当组件需要引入库文件时,需要手动在该组件的编译脚本build.gradle文件中对库文件的相关信息进行配置,直接将库文件的相关信息进行引入,如compilefileTree(include:['*.jar'],dir:'d:est\android\module')。其中,*.jar表示需要引入的库文件的类型,d:est\android\module为需要引入的库文件的存储目录。由于为组件配置库文件比较繁琐,以手动的方式对库文件进行配置容易出错,且费时费力。
技术实现思路
为克服上述手动为组件配置库文件耗时耗力且容易出错的问题或者至少部分地解决上述问题,本专利技术提供了一种组件中引入库文件的方法及装置。根据本专利技术的第一方面,提供一种组件中引入库文件的方法,包括:S1,若监听到文件夹中有待引入库文件加入,则获取所述待引入库文件的属性信息;其中,所述文件夹用于存放目标组件的库文件;S2,根据所述待引入库文件的属性信息,生成所述待引入库文件的配置信息;S3,将所述配置信息注入到所述目标组件或所述目标组件所属主项目的的编译脚本文件中。具体地,所述步骤S1之前还包括:使用FileSystemWatcher类的构造函数创建一个文件观察者对象;设置所述文件观察者对象的检测路径和文件过滤器;使用所述对象观察者对象监听所述检测路径对应的文件夹中库文件的变更状态。具体地,所述步骤S1具体包括:若监听到文件夹中有待引入库文件加入,则调用getName方法获取所述待引入库文件的文件名,调用getPath方法获取所述待引入库文件的存储目录;调用spilt(".")方法获取对所述文件名进行分割,获取字符串数组;将所述字符串数组中的最后一个值作为所述待引入库文件的名称后缀;调用equals方法判断所述名称后缀是否等于预设字符串,获取所述待引入库文件的类型。具体地,所述步骤S2具体包括:当所述待引入库文件的类型为jar时,根据所述待引入库文件的类型和存储目录生成所述待引入库文件的第一配置信息;或者,当所述待引入库文件的类型为jni时,根据所述待引入库文件的存储目录生成所述待引入库文件的第二配置信息;或者,当所述待引入库文件的类型为aar时,根据所述待引入库文件的类型和存储目录生成所述待引入库文件的第三配置信息。具体地,所述步骤S3具体包括:当所述待引入库文件的类型为jar或jni时,将所述配置信息注入到所述目标组件的编译脚本文件中;或者,当所述待引入库文件的类型为arr时,将所述配置信息注入到所述目标组件所属主项目的编译脚本文件中。具体地,所述步骤S3具体包括:S31,使用open函数将所述目标组件或所述目标组件所属主项目的编译脚本文件读取到内存中;S32,使用readLine方法逐行读取所述编译脚本文件中的数据,直到读取到预设关键字;S33,使用seek方法将文件游标移动到所述预设关键字所在行的下一行,使用write方法在所述下一行中插入所述配置信息。具体地,所述步骤S32具体包括:使用contains方法判断各行数据中是否存在所述预设关键字;若所述各行数据中不存在所述预设关键字,则继续读取下一行,直到读取到所述预设关键字;其中,当所述待引入库文件的类型为jar或arr时,所述预设关键字为“dependencies”;或者,当所述待引入库文件的类型为jni时,所述预设关键字为“main”。具体地,所述步骤S3之后还包括:若监听到所述文件夹中任一库文件被删除,则从所述编译脚本文件中查找并删除所述被删除的库文件的配置信息。具体地,所述步骤S3之后还包括:若监听到所述文件夹中任一库文件被重命名,则根据重命名后所述库文件的属性信息重新生成重命名后所述库文件的配置信息;使用重新生成的所述配置信息替换所述编译脚本文件中重命名前所述库文件的配置信息。根据本专利技术的第二方面,提供一种组件中引入库文件的装置,包括:获取单元,用于在监听到文件夹中有待引入库文件加入时,获取所述待引入库文件的属性信息;其中,所述文件夹用于存放目标组件的库文件;生成单元,用于根据所述待引入库文件的属性信息,生成所述待引入库文件的配置信息;注入单元,用于将所述配置信息注入到所述目标组件或所述目标组件所属主项目的编译脚本文件中。本专利技术提供一种组件中引入库文件的方法及装置,该方法通过在监听到存放组件所需库文件的文件夹中有待引入库文件加入时,根据库文件的属性信息生成所述待引入库文件的配置信息,然后将所述待引入库文件的配置信息注入到组件或组件所属主项目的编译脚本文件中,从而实现组件中库文件的自动引入,提高了组件中引入库文件的效率,且降低了错误发生的概率。附图说明图1为本专利技术实施例提供的组件中引入库文件的方法整体流程示意图;图2为本专利技术实施例提供的组件中引入库文件的装置整体结构示意图;图3为本专利技术实施例提供的组件中引入库文件的设备整体结构示意图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。在本专利技术的一个实施例中提供一种组件中引入库文件的方法,图1为本专利技术实施例提供的组件中引入库文件的方法整体流程示意图,该方法包括:S1,若监听到文件夹中有待引入库文件加入,则获取所述待引入库文件的属性信息;其中,所述文件夹用于存放目标组件的库文件;S2,根据所述待引入库文件的属性信息,生成所述待引入库文件的配置信息;S3,将所述配置信息注入到所述目标组件或所述目标组件所属主项目的的编译脚本文件中。具体地,S1中,本实施例实现将待引入库文件自动引入到目标组件中。首先监听文件夹中是否有待引入库文件加入,所述文件夹用于存放目标组件的库文件。当用户将目标组件所需要的库文件添加到所述文件夹中时,通过监听获取到文件夹中有待引入库文件加入,则获取所述待引入库文件的属性信息。所述待引入库文件的属性信息包括库文件的类型、存储目录和名称。然后通过触发引入库文件操作的接口,将所述待引入库文件的属性信息传递给引入库文件操作的执行模块。所述接口的设计如:其中,IFileChanged为接口名称,onFileCreate、onFileRename和onFIleDelete为接口函数。每个接口函数中有type和file两个参数,其中type表示所述待引入库文件的后缀名称,file就是所述待引入库文件的对象信息。所述对象信息包括文件名称和存储目录。所述执行模块的触发逻辑通过所述接口函数进行触发。使用接口的触发方式便于维护和扩展。S2中,根据所述待引入库文件的属性信息,生成所述待引入库文件的配置信息。所述配置信息是包含所述库文件的属性信息的配置语句。S3中,自动将所述配置信息注入到所述目标组件或所述目标组件所属主项目的的编译脚本文件中。由于不同类型的待引入库文件本文档来自技高网...

【技术保护点】
1.一种组件中引入库文件的方法,其特征在于,包括:S1,若监听到文件夹中有待引入库文件加入,则获取所述待引入库文件的属性信息;其中,所述文件夹用于存放目标组件的库文件;S2,根据所述待引入库文件的属性信息,生成所述待引入库文件的配置信息;S3,将所述配置信息注入到所述目标组件或所述目标组件所属主项目的的编译脚本文件中。

【技术特征摘要】
1.一种组件中引入库文件的方法,其特征在于,包括:S1,若监听到文件夹中有待引入库文件加入,则获取所述待引入库文件的属性信息;其中,所述文件夹用于存放目标组件的库文件;S2,根据所述待引入库文件的属性信息,生成所述待引入库文件的配置信息;S3,将所述配置信息注入到所述目标组件或所述目标组件所属主项目的的编译脚本文件中。2.根据权利要求1所述的方法,其特征在于,所述步骤S1之前还包括:使用FileSystemWatcher类的构造函数创建一个文件观察者对象;设置所述文件观察者对象的检测路径和文件过滤器;使用所述对象观察者对象监听所述检测路径对应的文件夹中库文件的变更状态。3.根据权利要求1或2所述的方法,其特征在于,所述步骤S1具体包括:若监听到文件夹中有待引入库文件加入,则调用getName方法获取所述待引入库文件的文件名,调用getPath方法获取所述待引入库文件的存储目录;调用spilt(".")方法获取对所述文件名进行分割,获取字符串数组;将所述字符串数组中的最后一个值作为所述待引入库文件的名称后缀;调用equals方法判断所述名称后缀是否等于预设字符串,获取所述待引入库文件的类型。4.根据权利要求3所述的方法,其特征在于,所述步骤S2具体包括:当所述待引入库文件的类型为jar时,根据所述待引入库文件的类型和存储目录生成所述待引入库文件的第一配置信息;或者,当所述待引入库文件的类型为jni时,根据所述待引入库文件的存储目录生成所述待引入库文件的第二配置信息;或者,当所述待引入库文件的类型为aar时,根据所述待引入库文件的类型和存储目录生成所述待引入库文件的第三配置信息。5.根据权利要求1或2所述的方法,其特征在于,所述步骤S3具体包括:当所述待引入库文件的类型为jar或jni时,将所述配置信息注入到所述目标组件的编译脚本文件中;或者,当所述待引入库文件的类型...

【专利技术属性】
技术研发人员:张磊陈少杰张文明
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1