[发明专利]一种用于模块间通信的路由方法和路由装置有效
申请号: | 201810744060.2 | 申请日: | 2018-07-09 |
公开(公告)号: | CN108897588B | 公开(公告)日: | 2021-08-13 |
发明(设计)人: | 陈祝界;夏鹏;金昊 | 申请(专利权)人: | 广州市千钧网络科技有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F8/53;G06F8/41;G06F8/75 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 510665 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 模块 通信 路由 方法 装置 | ||
1.一种用于模块间通信的路由方法,其特征在于,包括:
扫描并解压应用程序APP的安卓安装包APK文件,获取所述APK文件中的AndroidManifest文件;
从所述AndroidManifest文件中获取Activity的完整类名或Servic的完整类名;
遍历dex文件,根据所述Activity的完整类名或Service的完整类名反编译得到类的信息;
遍历获得的所有类,提取出public static或public static final的方法;
将提取出的所有方法创建成java文件;
将所述java文件编译成class文件;
将所述class文件编译成jar文件;
将所述jar文件存储至业务模块中,以使得所述业务模块使用provided的引用方式引用所述jar文件。
2.根据权利要求1所述的路由方法,其特征在于,所述路由方法还包括:
在所述业务模块生成aar文件的过程中,比较编译后的路径分别与所述jar文件中各个类的类名是否一致;
将所述jar文件中类名与编译后的路径一致的类,确定为发生冲突的索引类;
删除所述jar文件中发生冲突的索引类。
3.根据权利要求2所述的路由方法,其特征在于,所述路由方法还包括:
在所述业务模块生成aar文件的过程中,生成索引jar的jar格式的映射文件jarMapping;
获取存在映射关系的java文件的md5值,判断所述md5值是否存在于java格式的映射文件javaMapping中;
如果存在,则继续获取下一存在映射关系的java文件的md5值,并继续判断该md5值是否存在于所述javaMapping中;
如果不存在,则获取所述存在映射关系的java文件的所有外部导入的报名import,判断获取的所有import是否存在于所述jarMapping中;
如果存在,将所述存在映射关系的java文件的md5值以及所获取的所有import存储至配置区;
将所述配置区生成的配置文件和所述业务模块生成的aar文件输出至默认目录下。
4.根据权利要求3所述的路由方法,其特征在于,所述路由方法还包括:
在主工程编译时,从所述默认目录下获取配置文件;
在编辑后的目录中查找所述主工程的索引清单中的类,结合所获取到的配置文件,判断所述主工程的索引清单中的类的方法是否存在;
如果不存在,发出提示消息。
5.根据权利要求1-4任一项所述的路由方法,其特征在于,所述路由方法还包括:
预先在AndroidManifest文件中注册一个Activity类用来占坑,以及预先在gradle中配置好初始化参数;
在Application中进行初始化后,通过钩子技术钩住系统关键类android.app.IActivityManager;
当启动索引Activity时,自动跳转至用来模拟的Activity中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州市千钧网络科技有限公司,未经广州市千钧网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810744060.2/1.html,转载请声明来源钻瓜专利网。