[发明专利]获取Android中组件相互引用关系的方法及装置有效
申请号: | 201711072168.3 | 申请日: | 2017-11-03 |
公开(公告)号: | CN107885501B | 公开(公告)日: | 2020-09-08 |
发明(设计)人: | 张磊;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;吴欢燕 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 获取 android 组件 相互 引用 关系 方法 装置 | ||
本发明提供获取Android中组件相互引用关系的方法及装置,所述方法包括:获取目标Android项目中所有组件的编译脚本文件;分别对各所述编译脚本文件进行解析,获取每个组件的依赖关系集合;对所述每个组件的依赖关系集合中的每项依赖关系执行以下步骤:分析该依赖关系所包含的目标组件,若所述目标组件的依赖关系集合中存在包含该组件的依赖关系,则获知所述目标组件与该组件之间存在相互引用关系。本发明能够快速给出组件之间的相互引用关系,避免了人工逐个打开组件并分析依赖关系,极大地提高了开发人员定位组件相互引用关系的效率,降低了人力成本的开销。
技术领域
本发明涉及互联网开发技术领域,更具体地,涉及获取Android中组件相互引用关系的方法及装置。
背景技术
随着互联网开发技术的发展,直播平台客户端常常需要通过组件以及若干个组件之间的配合来实现相应的功能,以满足用户需求。
在直播平台Android客户端组件化开发的过程中,开发人员会将该Android客户端项目的实现分成若干个组件,对组件进行分开和隔离,每个组件会是一个独立的功能模块,在每个组件模块内部可能又会引入第三方开源组件或者其他组件。当组件之间发生了相互引用时,例如,当组件a引用组件b并且组件b也引用组件a的时,编译器就会无限循环引用下去,会导致编译器无法正常运行下去,进而导致编译失败。
开发人员要找到编译失败的原因,首先需要通过逐个打开和分析每个组件的配置文件以梳理出组件之间错综复杂的依赖关系,然后根据梳理出的依赖关系定位哪两个组件之间进行了相互引用,这项工作通常是一个非常耗时耗力的过程,尤其是在组件数量较多的情形下,会导致开发效率低下。
发明内容
为了能够解决现有实现直播平台Android客户端组件化的过程中易出现的定位组件相互引用关系效率低下的问题,本发明提供获取Android系统组件相互引用关系的方法及装置。
根据本发明的一个方面,提供获取Android中组件相互引用关系的方法,包括:
S1,获取目标Android项目中所有组件的编译脚本文件;
S2,分别对各所述编译脚本文件进行解析,获取每个组件的依赖关系集合;
S3,针对所述每个组件的依赖关系集合执行以下步骤:
顺序取出当前组件的依赖关系集合中每项依赖关系,并执行以下步骤直至所述当前组件的依赖关系集合遍历完成:分析当前依赖关系所包含的目标组件,若所述目标组件的依赖关系集合中存在包含当前组件的依赖关系,则获知所述目标组件与当前组件之间存在相互引用关系。
其中,所述步骤S2进一步包括:
分别对各个组件的编译脚本文件执行以下步骤:
通过调用readLine方法获取当前组件的编译脚本文件中每一行的内容信息;
调用contains(“dependencies”)函数以判断当前行的内容信息中是否包含关键字dependencies,若不包含则开始读取下一行数据,直到某一行中包含关键字dependencies时开始读取“dependencies{”后的依赖关系信息,直至读取到“}”时为止;
将所读取到的依赖关系信息存储至一个集合中。
其中,所述步骤S2进一步包括:
分别对各个组件的编译脚本文件执行以下步骤:
通过调用file类中的readAll方法将当前组件的编译脚本文件中的所有内容信息读取到内存中;
调用indexOf(“dependencies{”)函数以获取所述内容信息中出现“dependencies{”的索引值index;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711072168.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有散热功能的轮胎钢圈
- 下一篇:一种结构强度高的轮胎钢圈