一种插件升级的方法及装置制造方法及图纸

技术编号:14693649 阅读:63 留言:0更新日期:2017-02-23 16:35
本发明专利技术实施例提供一种插件升级的方法及装置,包括:确定捕获到主程序中的插件进行升级的触发事件;确定需要升级的插件的插件版本标识;对所述需要升级的插件通过加载所述插件版本标识的目标安卓安装包APK进行插件升级。采用本发明专利技术实施例的方案,可以通过加载APK的方式进行插件升级,实现升级插件过程中无需用户操作的目的。

【技术实现步骤摘要】

本专利技术实施例涉及计算机处理
,尤其涉及一种插件升级的方法及装置
技术介绍
在软件开发中,为了方便对软件进行功能扩展,可以采用插件方式进行开发,将软件所要实现的一个一个功能封装在插件中,最后将各插件集成在软件主程序包中一同发布。现有技术中当插件需要升级时,通过安装进行插件升级,在安装的过程中需要用户进行参与,比如需要用户进行权限确认等环节。现有技术的不足在于:当插件升级时,在安装新的插件版本过程中需要用户进行操作。
技术实现思路
本专利技术实施例提供一种插件升级的方法及装置,用以解决现有技术中的当插件升级时,在安装新的插件版本过程中需要用户进行操作的缺陷,实现升级插件过程中无需用户操作的目的。本专利技术实施例提供一种插件升级的方法,包括:确定捕获到主程序中的插件进行升级的触发事件;确定需要升级的插件的插件版本标识;对所述需要升级的插件通过加载所述插件版本标识的目标安卓安装包APK(AndroidPackage)进行插件升级。本专利技术实施例提供一种插件升级的装置,包括:第一确定模块,用于确定捕获到主程序中的插件进行升级的触发事件;第二确定模块,用于确定需要升级的插件的插件版本标识;插件升级模块,用于对所述需要升级的插件通过加载所述插件版本标识的目标安卓安装包APK进行插件升级。本专利技术实施例提供的一种插件升级的方法及装置,通过确定捕获到主程序中的插件进行升级的触发事件;对需要升级的插件通过加载插件版本标识的目标安卓安装包APK进行插件升级。通过加载APK的方式进行插件升级,可以实现升级插件过程中无需用户操作的目的。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术插件升级的方法实施例流程图;图2为本专利技术插件升级的方法具体实施例一流程图;图3为本专利技术插件升级的方法具体实施例二流程图;图4为本专利技术插件升级的装置实施例结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为插件升级的方法实施例流程图,如图所示,可以包括如下步骤:步骤101、确定捕获到主程序中的插件进行升级的触发事件;步骤102、确定需要升级的插件的插件版本标识;步骤103、对所述需要升级的插件通过加载所述插件版本标识的目标安卓安装包APK进行插件升级。对于步骤101的实施,这里提及的主程序为宿主程序,如乐视超级手机中的XX杀毒软件。插件是指附属程序,如XX杀毒软件中的“开机加速”插件、“日历”插件、“防盗”插件。首先检测是否发生主程序中的插件进行升级的触发事件,确定捕获到该触发事件,进入步骤102。对于步骤102的实施,由于每个插件的不同版本都集成在软件主程序包中,确定需要升级的插件新的版本标识,以便于将旧版本的插件升级为新的版本的插件。版本标识可以包括版本号、版本名称等。实施中,所述确定需要升级的插件的插件版本标识是通过以下方式确定的:从主程序中获取需要升级的插件与主程序适配的比当前插件版本高的插件版本标识;和/或,接收服务器发送的与主程序适配的最新插件版本标识。具体的,确定需要升级的插件的插件版本标识有以下两种方式:方式一:从所有插件版本中确定与主程序适配的比当前插件版本高的一个插件版本,然后获取该插件版本的版本标识。实施中,所述与主程序适配的比当前插件版本高的插件版本为主程序所支持的比当前插件版本高的插件版本。具体的,确定主程序支持的该插件的所有插件版本,选择比当前插件版本高的任一插件版本。这样,可以避免插件版本与主程序不适配而发生崩溃等问题,保证了升级的有效性。方式二:接收服务器发送的与主程序适配的最新插件版本标识。向服务器发送插件升级请求,请求中包括当前插件版本标识,当服务器确定与当前版本不同的与主程序适配的最新版本,向终端发送最新版本标识,终端接收服务器发送的最新插件版本标识。对于步骤103的实施,每个版本的插件都有其对应的APK,对需要升级的插件加载新的插件版本对应的APK,来进行插件升级。不需要进行安装,通过加载APK便可以进行插件升级,实现升级插件过程中无需用户操作的目的。实施中,所述加载是通过插件框架PF(ProgrammaticFramework,程序化购买框架)进行加载的。实施中,所述通过插件框架PF进行加载,具体包括:加载插件的资源;加载插件的可执行文件;构造插件的上下文Context;使用所述Context获得root权限;通过所述Context使用所述插件的可执行文件和所述插件的资源。具体的,目前插件有两种,一种是APK,一种是dex包。当插件为APK格式,现有技术通过安装新的APK进行插件升级,本专利技术实施例提出通过插件框架PF加载新的APK进行插件升级。现对加载新的APK与安装新的APK的区别进行说明,加载新的APK过程中,获取插件的资源和可执行文件,并构造插件的Context(每一个插件都有一个Context),利用Context可以访问资源和可执行文件,还可以进行APK的各种权限管理,在用户不知道的情况下插件升级已经完成;安装新的APK过程中,需要用户进行权限确认以及其他操作,插件才得以升级成功。实施中,所述加载插件的资源是基于安卓系统的AssetManager接口加载插件的资源的。实施中,所述加载插件的可执行文件是通过安卓系统的DexClassLoader加载可执行文件的。具体的,实现插件APK的加载,主要是两个部分,一个是APK资源的加载,另一个是DEX中可执行文件的加载,关于第一点,PF框架主要是基于Android的AssetManager接口去加载插件的资源,基于这个AssetManager再构造出Resources,有了插件的AssetManager和Resources,从而实现资源的访问;关于第二点,PF框架使用Android的DexClassLoader进行加载。实施中,所述插件升级是通过以下任一方式进行升级的:开机升级,闲置升级,强制升级。具体的,本专利技术实施例中有三种升级方式(开机升级,闲置升级,强制升级)可以实现插件升级。开机升级为系统开机的时候进行插件升级;闲置升级为插件闲置(也即插件没有被使用)的时候进行插件升级,避免插件正在使用的时候升级造成用户使用中断;强制升级为无论插件是否正在使用都强制性地升级插件。为了更清楚地理解本专利技术,下面以具体实施例进行说明。实施例一图2为插件升级的方法具体实施例一流程图,如图所示,可以包括如下步骤:步骤201、检测是否发生主程序中的插件进行升级的触发事件,若是,转入步骤202,若否,转入步骤201;步骤202、确定捕获到该触发事件;步骤203、获取当前版本标识以及主程序所支持的所有插件版本标识;步骤204、确定主程序所支持所有插件版本比当前版本高的插件版本文档来自技高网...
一种插件升级的方法及装置

【技术保护点】
一种插件升级的方法,其特征在于,包括:确定捕获到主程序中的插件进行升级的触发事件;确定需要升级的插件的插件版本标识;对所述需要升级的插件通过加载所述插件版本标识的目标安卓安装包APK进行插件升级。

【技术特征摘要】
1.一种插件升级的方法,其特征在于,包括:确定捕获到主程序中的插件进行升级的触发事件;确定需要升级的插件的插件版本标识;对所述需要升级的插件通过加载所述插件版本标识的目标安卓安装包APK进行插件升级。2.根据权利要求1所述的方法,其特征在于,所述加载是通过插件框架PF进行加载的。3.根据权利要求2所述的方法,其特征在于,所述通过插件框架PF进行加载,具体包括:加载插件的资源;加载插件的可执行文件;构造插件的上下文Context;使用所述Context获得超级用户root权限;通过所述Context使用所述插件的可执行文件和所述插件的资源。4.根据权利要求3所述的方法,其特征在于,所述加载插件的资源是基于安卓系统的AssetManager接口加载插件的资源的。5.根据权利要求3所述的方法,其特征在于,所述加载插件的可执行文件是通过安卓系统的DexClassLoader加载可执行文件的。6.根据权利要求1所述的方法,其特征在于,所述插件升级是通过以下任一方式进行升级的:开机升级,闲置升级,强制升级。7.根据权利要求1所述的方法,其特征在于,所述确定需要升级的插件的插件版本标识是通过以下方式确定的:从主程序中获取需要升级的插件与主程序适配的比当前插件版本高的插件版本标识;和/或,接收服务器发送的与主程序适配的最新插件版本标识。8.根据权利要求7所述的方法,其特征在于,所述与主程序适配的比当前插件版本高的插件版本为主程序所支持的比当前插件版本高的插件版本。9.一种插件升级的装置,其特征在于,包括:第一确定模块,用于确定捕获到主程序中的插件进行升级的触发事件;第二确定模块...

【专利技术属性】
技术研发人员:王莫刚
申请(专利权)人:乐视控股北京有限公司乐视致新电子科技天津有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1