[发明专利]一种插件应用的处理方法及装置在审
申请号: | 201710750604.1 | 申请日: | 2017-08-28 |
公开(公告)号: | CN107577456A | 公开(公告)日: | 2018-01-12 |
发明(设计)人: | 胡俊杰;王玉鹏 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41 |
代理公司: | 北京智汇东方知识产权代理事务所(普通合伙)11391 | 代理人: | 康正德,盛惠华 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 插件 应用 处理 方法 装置 | ||
技术领域
本发明涉及互联网应用技术领域,特别是一种插件应用的处理方法及装置。
背景技术
在软件开发中,为了方便对软件进行功能扩展,可以采用插件方式进行开发,将软件所要实现的一个一个功能封装在插件中,最后将各个插件应用集成在软件主程序包中一同发布。
目前,采用一些插件化框架对插件应用进行插件化处理,同样能够实现相应的功能。当用户需要使用某个特定功能时,可以下载并开启相应的插件,且还可以随时卸载插件。这样不仅可以减小应用数据包大小、节省流量,还可以明显地减少内存、内部存储占用,将更多空间让给珍贵的相片、文档等资料。
然而,在采用插件化框架对插件应用进行插件化处理时,需要开发者手动去修改相关的类或方法等,开发效率不高。并且,在没有插件应用的源码时手动修改无法实现。因此,亟需解决这一问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的插件应用的处理方法及相应的装置。
根据本发明实施例的一方面,提供了一种插件应用的处理方法,适用于采用指定插件化框架对插件应用进行插件化处理的情况,所述方法包括:
在对编程语言编写的插件应用的源码进行编译,生成所述插件应用的字节码文件之后,基于所述指定插件化框架对所述插件应用进行插件化处理的处理策略对所述字节码文件进行处理,得到处理后的插件化字节码文件;
将所述处理后的插件化字节码文件转换成操作系统上可执行的字节码文件,并打包所述可执行的字节码文件生成插件包。
可选地,所述采用指定插件化框架对插件应用进行插件化处理是指将所述插件应用接入所述指定插件化框架。
可选地,基于所述指定插件化框架对所述插件应用进行插件化处理的处理策略对所述字节码文件进行处理,包括:
利用操作系统的指定接口将所述指定插件化框架对所述插件应用进行插件化处理的处理策略注入到编译流程中;
从所述指定接口获取所述处理策略,并对所述字节码文件进行处理。
可选地,利用操作系统的指定接口将所述指定插件化框架对所述插件应用进行插件化处理的处理策略注入到编译流程中,包括:
将所述指定插件化框架对所述插件应用进行插件化处理的处理策略拆分成多个注入任务;
针对所述多个注入任务中每个注入任务,生成相应的注入器;
将所述多个注入器分别注入到编译流程中。
可选地,所述注入任务包括下列任意之一:
将所述插件应用中的Activity的父类修改为所述指定插件化框架中插件库的特定父类,并对super调用进行相应的修改;
将所述插件应用中的LocalBroadcast调用代码修改为所述指定插件化框架中插件库的调用代码;
将所述插件应用中的Provider调用代码修改为所述指定插件化框架中插件库的调用代码;
将所述插件应用中的获取资源的函数getIdentifier的参数修改为动态适配的参数。
可选地,从所述指定接口获取所述处理策略,并对所述字节码文件进行处理,包括:
从所述指定接口获取所述多个注入器;
扫描所述字节码文件,并分别利用所述多个注入器对所述字节码文件进行处理。
可选地,分别利用所述多个注入器对所述字节码文件进行处理,包括:
基于Javassist类库工具,分别利用所述多个注入器对所述字节码文件进行处理。
可选地,若所述操作系统为安卓系统,则所述编程语言为Java语言,所述字节码文件包括Class文件。
可选地,若所述操作系统为安卓系统,所述指定接口为Transform API接口。
根据本发明实施例的另一方面,还提供了一种插件应用的处理装置,适用于采用指定插件化框架对插件应用进行插件化处理的情况,所述装置包括:
处理模块,适于在对编程语言编写的插件应用的源码进行编译,生成所述插件应用的字节码文件之后,基于所述指定插件化框架对所述插件应用进行插件化处理的处理策略对所述字节码文件进行处理,得到处理后的插件化字节码文件;
转换模块,适于将所述处理后的插件化字节码文件转换成操作系统上可执行的字节码文件;
打包模块,适于打包所述可执行的字节码文件生成插件包。
可选地,所述采用指定插件化框架对插件应用进行插件化处理是指将所述插件应用接入所述指定插件化框架。
可选地,所述处理模块包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710750604.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:车辆侧部碰撞吸能结构
- 下一篇:前方车体结构