[发明专利]一种插件应用的处理方法及装置在审
申请号: | 201710750604.1 | 申请日: | 2017-08-28 |
公开(公告)号: | CN107577456A | 公开(公告)日: | 2018-01-12 |
发明(设计)人: | 胡俊杰;王玉鹏 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41 |
代理公司: | 北京智汇东方知识产权代理事务所(普通合伙)11391 | 代理人: | 康正德,盛惠华 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 插件 应用 处理 方法 装置 | ||
1.一种插件应用的处理方法,适用于采用指定插件化框架对插件应用进行插件化处理的情况,所述方法包括:
在对编程语言编写的插件应用的源码进行编译,生成所述插件应用的字节码文件之后,基于所述指定插件化框架对所述插件应用进行插件化处理的处理策略对所述字节码文件进行处理,得到处理后的插件化字节码文件;
将所述处理后的插件化字节码文件转换成操作系统上可执行的字节码文件,并打包所述可执行的字节码文件生成插件包。
2.根据权利要求1所述的方法,其中,所述采用指定插件化框架对插件应用进行插件化处理是指将所述插件应用接入所述指定插件化框架。
3.根据权利要求1或2所述的方法,其中,基于所述指定插件化框架对所述插件应用进行插件化处理的处理策略对所述字节码文件进行处理,包括:
利用操作系统的指定接口将所述指定插件化框架对所述插件应用进行插件化处理的处理策略注入到编译流程中;
从所述指定接口获取所述处理策略,并对所述字节码文件进行处理。
4.根据权利要求3所述的方法,其中,利用操作系统的指定接口将所述指定插件化框架对所述插件应用进行插件化处理的处理策略注入到编译流程中,包括:
将所述指定插件化框架对所述插件应用进行插件化处理的处理策略拆分成多个注入任务;
针对所述多个注入任务中每个注入任务,生成相应的注入器;
将所述多个注入器分别注入到编译流程中。
5.根据权利要求4所述的方法,其中,所述注入任务包括下列任意之一:
将所述插件应用中的Activity的父类修改为所述指定插件化框架中插件库的特定父类,并对super调用进行相应的修改;
将所述插件应用中的LocalBroadcast调用代码修改为所述指定插件化框架中插件库的调用代码;
将所述插件应用中的Provider调用代码修改为所述指定插件化框架中插件库的调用代码;
将所述插件应用中的获取资源的函数getIdentifier的参数修改为动态适配的参数。
6.根据权利要求4或5所述的方法,其中,从所述指定接口获取所述处理策略,并对所述字节码文件进行处理,包括:
从所述指定接口获取所述多个注入器;
扫描所述字节码文件,并分别利用所述多个注入器对所述字节码文件进行处理。
7.根据权利要求6所述的方法,其中,分别利用所述多个注入器对所述字节码文件进行处理,包括:
基于Javassist类库工具,分别利用所述多个注入器对所述字节码文件进行处理。
8.根据权利要求1-7中任一项所述的方法,其中,若所述操作系统为安卓系统,则所述编程语言为Java语言,所述字节码文件包括Class文件。
9.根据权利要求3-7中任一项所述的方法,其中,若所述操作系统为安卓系统,所述指定接口为Transform API接口。
10.一种插件应用的处理装置,适用于采用指定插件化框架对插件应用进行插件化处理的情况,所述装置包括:
处理模块,适于在对编程语言编写的插件应用的源码进行编译,生成所述插件应用的字节码文件之后,基于所述指定插件化框架对所述插件应用进行插件化处理的处理策略对所述字节码文件进行处理,得到处理后的插件化字节码文件;
转换模块,适于将所述处理后的插件化字节码文件转换成操作系统上可执行的字节码文件;
打包模块,适于打包所述可执行的字节码文件生成插件包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710750604.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:车辆侧部碰撞吸能结构
- 下一篇:前方车体结构