[发明专利]获取Android中组件相互引用关系的方法及装置有效
| 申请号: | 201711072168.3 | 申请日: | 2017-11-03 |
| 公开(公告)号: | CN107885501B | 公开(公告)日: | 2020-09-08 |
| 发明(设计)人: | 张磊;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;吴欢燕 |
| 地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 获取 android 组件 相互 引用 关系 方法 装置 | ||
1.获取Android中组件相互引用关系的方法,其特征在于,包括:
S1,获取目标Android项目中所有组件的编译脚本文件;
S2,分别对各所述编译脚本文件进行解析,获取每个组件的依赖关系集合;
S3,针对所述每个组件的依赖关系集合执行以下步骤:
顺序取出当前组件的依赖关系集合中每项依赖关系,并执行以下步骤直至所述当前组件的依赖关系集合遍历完成:分析当前依赖关系所包含的目标组件,若所述目标组件的依赖关系集合中存在包含当前组件的依赖关系,则获知所述目标组件与当前组件之间存在相互引用关系;
其中,所述步骤S2进一步包括:
分别对各个组件的编译脚本文件执行以下步骤:
通过调用readLine方法获取当前组件的编译脚本文件中每一行的内容信息;
调用contains(“dependencies”)函数以判断当前行的内容信息中是否包含关键字dependencies,若不包含则开始读取下一行数据,直到某一行中包含关键字dependencies时开始读取“dependencies{”后的依赖关系信息,直至读取到“}”时为止;
将所读取到的依赖关系信息存储至一个集合中;或者,
所述步骤S2进一步包括:
分别对各个组件的编译脚本文件执行以下步骤:
通过调用file类中的readAll方法将当前组件的编译脚本文件中的所有内容信息读取到内存中;
调用indexOf(“dependencies{”)函数以获取所述内容信息中出现“dependencies{”的索引值index;
调用seek函数将文件游标移动到index+length(“dependencies{”)所表示的位置,通过不断移动文件游标读取“dependencies{”后的依赖关系信息,直至读取到“}”时为止;
将所读取到的依赖关系信息存储至一个集合中;
其中,所述步骤S3进一步包括:
S31,对各个组件进行编号;
S32,分析每个组件的依赖关系集合中的每项依赖关系所包含的目标组件,并获取所述目标组件的编号,将所述每项依赖关系分别映射为所获取到的编号;
S33,按照编号从小到大对所述每个组件的依赖关系集合中的所有依赖关系进行排序;
S34,针对所述每个组件的依赖关系集合执行以下步骤:
顺序取出当前组件的依赖关系集合中的每个编号作为当前编号,并执行以下步骤直至所述当前组件的依赖关系集合遍历完成:获取当前编号所对应的目标组件的依赖关系集合中所有小于所述当前编号的依赖关系,若所获取到的所有小于所述当前编号的依赖关系中存在与所述当前组件的编号相对应的依赖关系,则获知当前组件与所述目标组件之间存在相互引用关系。
2.根据权利要求1所述的方法,其特征在于,在步骤S3中所述分析当前依赖关系所包含的目标组件的步骤之后还包括:
若所述目标组件的依赖关系集合中不存在包含当前组件的依赖关系,则获知所述目标组件与当前组件之间不存在相互引用关系,则开始对当前组件的依赖关系集合中的下一项依赖关系进行分析。
3.根据权利要求1所述的方法,其特征在于,所述步骤S34还包括:
若当前编号所对应的目标组件的依赖关系集合中不存在小于所述当前编号的依赖关系,则获知当前组件与所述目标组件之间不存在相互引用关系,则开始对当前组件的依赖关系集合中的下一个编号进行分析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711072168.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有散热功能的轮胎钢圈
- 下一篇:一种结构强度高的轮胎钢圈





