[发明专利]一种插件加载方法、装置及移动终端有效
申请号: | 201611101498.6 | 申请日: | 2016-12-05 |
公开(公告)号: | CN108170485B | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 生士东 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 蒋雅洁;姚开丽 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明实施例公开了一种插件加载方法,应用于宿主模块,方法包括:当插件启动时,获得来自线程模块的插件的插件组件的组件标识,线程模块为宿主模块的父类组件;记录插件组件的组件标识,并将插件组件的组件标识替换为应用程序的预注册组件的组件标识,应用程序为插件的宿主程序;将预注册组件的组件标识发送给线程模块,以进行系统权限验证;当预注册组件的组件标识通过系统权限校验时,接收来自线程模块的可运行通知信息;响应可运行通知信息,根据记录的插件组件的组件标识,将预注册组件的组件标识替换为插件组件的组件标识;将插件组件的组件标识发送给线程模块,以加载插件。本发明实施例同时公开了一种插件加载装置。 | ||
搜索关键词: | 一种 插件 加载 方法 装置 移动 终端 | ||
当插件启动时,获得来自线程模块的所述插件的插件组件的组件标识,所述线程模块为所述宿主模块的父类组件;
记录所述插件组件的组件标识,并将所述插件组件的组件标识替换为应用程序的预注册组件的组件标识,所述应用程序为所述插件的宿主程序;
将所述预注册组件的组件标识发送给所述线程模块,以进行系统权限验证;
当所述预注册组件的组件标识通过所述系统权限校验时,接收来自线程模块的可运行通知信息;
响应所述可运行通知信息,根据记录的所述插件组件的组件标识,将所述预注册组件的组件标识替换为所述插件组件的组件标识;
将所述插件组件的组件标识发送给所述线程模块,以加载所述插件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取来自服务器的所述插件的新版本信息;
解析所述新版本信息,获得对应的新版本插件的类加载器和资源管理器;
采用新版本插件的类加载器和资源管理器替换所述插件的类加载器和资源管理器。
3.一种插件加载方法,应用于线程模块,其特征在于,所述方法包括:当插件启动时,获取所述插件的插件组件的组件标识;
接收来自所述宿主模块的应用程序的预注册组件的组件标识,所述线程模块为所述宿主模块的父类组件,所述应用程序为所述插件的宿主程序;
将所述预注册组件的组件标识发送给系统服务模块,以进行系统权限验证;
当所述预注册组件的组件标识通过所述系统权限校验时,接收来自系统服务模块的可运行通知信息;
将所述可运行通知信息转发给所述宿主模块;
接收来自所述宿主模块的所述插件组件的组件标识;
基于所述插件组件的组件标识,构建所述插件组件,以加载所述插件。
4.根据权利要求3所述的方法,其特征在于,所述基于所述插件组件的组件标识,构建所述插件组件并加载所述插件,包括:基于所述插件组件的组件标识,分别加载所述插件组件的代码和资源,以加载所述插件。
5.根据权利要求4所述的方法,其特征在于,所述基于所述插件组件的组件标识,分别加载所述插件组件的代码和资源,包括:基于所述插件组件的组件标识,通过类加载器加载所述插件组件的插件代码;
基于所述插件组件的组件标识,通过资源管理器中的新增插件路径方法加载所述插件的插件资源。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:基于双亲委派模型,构建所述线程模块对应的所述宿主模块。
7.一种插件加载装置,其特征在于,包括:第一获取单元,用于当插件启动时,获取来线程模块的所述插件的插件组件的组件标识,所述线程模块为自身所属装置的父类组件;
第一替换单元,用于记录所述插件组件的组件标识,并将所述插件组件的组件标识替换为应用程序的预注册组件的组件标识,所述应用程序为所述插件的宿主程序;
第一发送单元,用于将所述预注册组件的组件标识发送给所述线程模块,以进行系统权限验证;
第一接收单元,用于当所述预注册组件的组件标识通过所述系统权限校验时,接收来自线程模块的可运行通知信息;
第二替换单元,用于响应所述可运行通知信息,根据记录的所述插件组件的组件标识,将所述预注册组件的组件标识替换为所述插件组件的组件标识;
第二发送单元,用于将所述插件组件的组件标识发送给所述线程模块,以加载所述插件。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:第二获取单元,用于获取来自服务器的插件的新版本信息;
解析单元,用于解析所述新版本信息,获得对应的新版本插件的类加载器和资源管理器;
更新单元,用于采用新版本插件的类加载器和资源管理器替换所述插件的类加载器和资源管理器。
9.一种插件加载装置,其特征在于,所述装置包括:第二获取单元,用于当插件启动时,获取所述插件的插件组件的组件标识;
第三替换单元,用于接收来自宿主模块的应用程序的预注册组件的组件标识,所述线程模块为自身所属装置的父类组件,所述应用程序为所述插件的宿主程序;
第三发送单元,用于将所述预注册组件的组件标识发送给系统服务模块,以进行系统权限验证;
第三接收单元,用于当所述预注册组件的组件标识通过所述系统权限校验时,接收来自系统服务模块的可运行通知信息;
第四发送单元,用于将所述可运行通知信息转发给所述宿主模块;
第四接收单元,用于接收来自所述宿主模块的所述插件组件的组件标识;
加载单元,用于基于所述插件组件的组件标识,构建所述插件组件,以加载所述插件。
10.根据权利要求9所述的装置,其特征在于,所述加载单元,用于基于所述插件组件的组件标识,分别加载所述插件组件的代码和资源,以加载所述插件。该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201611101498.6/,转载请声明来源钻瓜专利网。
- 上一篇:一种控制方法和装置
- 下一篇:一种EMMC启动运行方法和装置