[发明专利]一种宿主中插件加载方法及装置在审
| 申请号: | 202010877570.4 | 申请日: | 2020-08-27 |
| 公开(公告)号: | CN112083968A | 公开(公告)日: | 2020-12-15 |
| 发明(设计)人: | 章勤杰;于达平;王杰 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F16/14 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 李娟 |
| 地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 宿主 插件 加载 方法 装置 | ||
本申请涉及计算机技术领域,尤其涉及一种宿主中插件加载方法及装置,在运行应用程序时,启动所述应用程序的宿主可执行文件,若当前执行的功能所对应的资源位于插件可执行文件中,则在触发所述应用程序所对应的操作系统的组件启动程序时,基于所述第二类加载器和插件的组件声明代码,确定查找到所述当前执行的功能对应的组件声明,并创建组件对象;修改所述插件可执行文件中所述组件对象对应的组件,以使所述插件可执行文件中对应组件的资源赋值给所述组件对象;运行所述组件对象,以执行所述插件可执行文件中对应组件的资源所实现的功能,以实现宿主和插件的类相互访问,并且无需侵入修改插件源码,进而实现在宿主中动态加载插件的目的。
技术领域
本申请涉及计算机技术领域,尤其涉及一种宿主中插件加载方法及装置。
背景技术
目前,应用程序可以划分为宿主和插件,用户只需要安装宿主安卓安装包(AndroidPackage,Apk)即可,插件的运行依赖宿主程序的运行,在运行时可以动态加载插件Apk,从而实现插件对应的功能,但是相关技术中,宿主和插件之间的类加载,或者相互隔离,或者只能单向依赖,并且对于插件的组件加载,通常采用预埋壳子组件,并将壳子组件和插件的组件联系起来的方式,这就需要修改启动组件的代码,侵入插件中组件源码,修改相关逻辑,不利于代码复用和移植。
发明内容
本申请实施例提供一种宿主中插件加载方法及装置,以实现宿主和插件的类相互访问,并且无需侵入修改插件源码,进而实现在宿主中动态加载插件的目的。
本申请实施例提供的具体技术方案如下:
本申请一个实施例提供了一种宿主中插件加载方法,包括:
在运行应用程序时,启动所述应用程序的宿主可执行文件,其中,所述应用程序包括宿主可执行文件和插件可执行文件,所述宿主可执行文件中至少打包有宿主类加载器、插件类加载器以及插件的组件声明代码,所述宿主类加载器的结构中集成有用于加载宿主的类的第一类加载器和用于加载插件的类的第二类加载器;
若当前执行的功能所对应的资源位于插件可执行文件中,则在触发所述应用程序所对应的操作系统的组件启动程序时,基于所述第二类加载器和插件的组件声明代码,确定查找到所述当前执行的功能对应的组件声明,并创建组件对象;
修改所述插件可执行文件中所述组件对象对应的组件,以使所述插件可执行文件中对应组件的资源赋值给所述组件对象;
运行所述组件对象,以执行所述插件可执行文件中对应组件的资源所实现的功能。
本申请另一个实施例提供了一种宿主中插件加载装置,包括:
启动模块,用于在运行应用程序时,启动所述应用程序的宿主可执行文件,其中,所述应用程序包括宿主可执行文件和插件可执行文件,所述宿主可执行文件中至少打包有宿主类加载器、插件类加载器以及插件的组件声明代码,所述宿主类加载器的结构中集成有用于加载宿主的类的第一类加载器和用于加载插件的类的第二类加载器;
创建模块,用于若当前执行的功能所对应的资源位于插件可执行文件中,则在触发所述应用程序所对应的操作系统的组件启动程序时,基于所述第二类加载器和插件的组件声明代码,确定查找到所述当前执行的功能对应的组件声明,并创建组件对象;
修改模块,用于修改所述插件可执行文件中所述组件对象对应的组件,以使所述插件可执行文件中对应组件的资源赋值给所述组件对象;
运行模块,用于运行所述组件对象,以执行所述插件可执行文件中对应组件的资源所实现的功能。
本申请另一个实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一种宿主中插件加载方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010877570.4/2.html,转载请声明来源钻瓜专利网。





