[发明专利]一种组件中引入库文件的方法及装置有效
| 申请号: | 201810008925.9 | 申请日: | 2018-01-04 |
| 公开(公告)号: | CN108279905B | 公开(公告)日: | 2022-06-21 |
| 发明(设计)人: | 张磊;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;吴欢燕 |
| 地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 组件 引入 文件 方法 装置 | ||
1.一种组件中引入库文件的方法,其特征在于,包括:
步骤S1,若监听到文件夹中有待引入库文件加入,则获取所述待引入库文件的属性信息;其中,所述文件夹用于存放目标组件的库文件,所述属性信息包括所述待引入库文件的类型、存储目录和名称;
步骤S2,根据所述待引入库文件的属性信息,生成所述待引入库文件的配置信息,其中,所述配置信息是包含所述属性信息的配置语句;
步骤S3,将所述配置信息注入到所述目标组件或所述目标组件所属主项目的编译脚本文件中;
所述步骤S1具体包括:
若监听到文件夹中有待引入库文件加入,则调用getName方法获取听述待引入库文件的文件名,调用getPath方法获取所述待引入库文件的存储目录;
调用spilt(″.″)方法获取对听述文件名进行分割,获取字符串数组;
将所述字符串数组中的最后一个值作为所述待引入库文件的名称后缀;
调用equals方法判断所述名称后缀是否等于预设字符串,获取所述待引入库文件的类型。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1之前还包括:
使用FileSystemWatcher类的构造函数创建一个文件观察者对象;
设置所述文件观察者对象的检测路径和文件过滤器;
使用所述文件 观察者对象监听所述检测路径对应的文件夹中库文件的变更状态。
3.根据权利要求1所述的方法,其特征在于,所述步骤S2具体包括:
当所述待引入库文件的类型为jar时,根据所述待引入库文件的类型和存储目录生成所述待引入库文件的第一配置信息;或者,
当所述待引入库文件的类型为jni时,根据所述待引入库文件的存储目录生成所述待引入库文件的第二配置信息;或者,
当所述待引入库文件的类型为aar时,根据所述待引入库文件的类型和存储目录生成所述待引入库文件的第三配置信息。
4.根据权利要求1或2所述的方法,其特征在于,所述步骤S3具体包括:
当所述待引入库文件的类型为jar或jni时,将所述配置信息注入到所述目标组件的编译脚本文件中;或者,
当所述待引入库文件的类型为arr时,将所述配置信息注入到所述目标组件所属主项目的编译脚本文件中。
5.根据权利要求1或2所述的方法,其特征在于,所述步骤S3具体包括:
步骤S31,使用open函数将所述目标组件或所述目标组件所属主项目的编译脚本文件读取到内存中;
步骤S32,使用readLine方法逐行读取所述编译脚本文件中的数据,直到读取到预设关键字;
步骤S33,使用seek方法将文件游标移动到所述预设关键字所在行的下一行,使用write方法在所述下一行中插入所述配置信息。
6.根据权利要求5所述的方法,其特征在于,所述步骤S32具体包括:
使用contains方法判断各行数据中是否存在所述预设关键字;
若所述各行数据中不存在所述预设关键字,则继续读取下一行,直到读取到所述预设关键字;
其中,当所述待引入库文件的类型为jar或arr时,所述预设关键字为“dependencies”;或者,
当所述待引入库文件的类型为jni时,所述预设关键字为“main”。
7.根据权利要求1或2所述的方法,其特征在于,所述步骤S3之后还包括:
若监听到所述文件夹中任一库文件被删除,则从所述编译脚本文件中查找并删除所述被删除的库文件的配置信息。
8.根据权利要求1或2所述的方法,其特征在于,所述步骤S3之后还包括:
若监听到所述文件夹中任一库文件被重命名,则根据重命名后所述库文件的属性信息重新生成重命名后所述库文件的配置信息;
使用重新生成的所述配置信息替换所述编译脚本文件中重命名前所述库文件的配置信息。
9.一种组件中引入库文件的装置,其特征在于,包括:
获取单元,用于在监听到文件夹中有待引入库文件加入时,获取所述待引入库文件的属性信息;其中,所述文件夹用于存放目标组件的库文件,所述属性信息包括所述待引入库文件的类型、存储目录和名称;
生成单元,用于根据所述待引入库文件的属性信息,生成所述待引入库文件的配置信息,其中,所述配置信息是包含所述属性信息的配置语句;
注入单元,用于将所述配置信息注入到所述目标组件或所述目标组件所属主项目的编译脚本文件中;
所述获取单元具体用于:
若监听到文件夹中有待引入库文件加入,则调用getName方法获取所述待引入库文件的文件名,调用getPath方法获取所述待引入库文件的存储目录;
调用spilt(″.″)方法获取对所述文件名进行分割,获取字符串数组;
将所述字符串数组中的最后一个值作为所述待引入库文件的名称后缀;
调用equals方法判断所述名称后缀是否等于预设字符串,获取所述待引入库文件的类型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810008925.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:代码编译方法及终端
- 下一篇:在服务器上部署应用服务的方法和设备





