[发明专利]一种用于模块间通信的路由方法和路由装置有效

专利信息
申请号: 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中。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州市千钧网络科技有限公司,未经广州市千钧网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201810744060.2/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top