一种升级插件的方法及电子终端技术

技术编号:19215522 阅读:39 留言:0更新日期:2018-10-20 06:39
本发明专利技术公开了一种升级插件的方法及电子终端。该方法包括:判断插件的升级包中携带的版本号和插件的当前版本号是否相同;若插件的升级包中携带的版本号和插件的当前版本号相同,则表示是同版本插件的升级过程,并进一步检测插件是否处于运行状态;若插件处于运行状态,则解析并存储插件的升级包中的相关更新文件,在插件中添加一覆盖安装字段信息,覆盖安装字段信息用于标识插件处于待更新状态;然后在插件下次启动的过程中,基于覆盖安装字段信息调用插件的升级包中的相关更新文件覆盖插件的原有释放文件,以更新插件。由此,本发明专利技术能够在同版本的情况下进行覆盖升级操作,以更新插件中的功能,而不需要升级版本号才能够更新。

【技术实现步骤摘要】
一种升级插件的方法及电子终端
本专利技术涉及通信
,尤其涉及一种升级插件的方法及电子终端。
技术介绍
插件(Plug-in,又称addin、add-in、addon或add-on,又译外挂)是一种遵循一定规范的应用程序接口编写出来的程序。插件是指会随着IE浏览器的启动自动执行的程序,其只能运行在程序规定的系统平台下,可能同时支持多个平台,但不能脱离指定的平台单独运行。也就是说,插件必须依附于应用程序的启动才能够运行。插件的类型有无数种,例如有些插件程序能够帮助用户更方便浏览因特网或调用上网辅助功能,有的插件可以帮助用户网上支付等等。例如,在安装相关的插件后,浏览器能够直接调用插件程序,用于处理特定类型的文件。鉴于插件的特殊性,Replugin插件化框架中的每个模块都以插件的形式存在并运行。而在Replugin插件化框架中,插件一般是通过升级来更新某些功能,而插件在升级时都是通过版本号进行升级管理的。也就是说,插件在需要更新某些功能时,必须通过升级版本号的形式来进行升级,若不升级插件的版本号就无法更新插件功能。
技术实现思路
鉴于上述必须依靠升级版本号来更新插件功能的问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种升级插件的方法及电子终端,能够进行同版本插件的覆盖安装操作,这样就可以在不升级版本号的情况下,完成插件的功能升级。本专利技术的一个方面,提供了一种升级插件的方法,包括:判断所述插件的升级包中携带的版本号和所述插件的当前版本号是否相同;若所述插件的升级包中携带的版本号和所述插件的当前版本号相同,则检测所述插件是否处于运行状态;若所述插件处于运行状态,则解析并存储所述插件的升级包中的相关更新文件;在所述插件中添加一覆盖安装字段信息,所述覆盖安装字段信息用于标识所述插件处于待更新状态;在所述插件下次启动的过程中,基于所述覆盖安装字段信息调用所述插件的升级包中的相关更新文件覆盖所述插件的原有释放文件,以更新所述插件。优选的,所述解析并存储所述插件的升级包中的相关更新文件,具体包括:解析所述插件的升级包中的相关更新文件;创建和所述插件的原有释放文件同级的临时目录存放所述插件的升级包中的相关更新文件。优选的,所述创建和所述插件的原有释放文件同级的临时目录存放所述插件的升级包中的相关更新文件,具体包括:创建和所述插件的原有释放文件同级的临时目录存放所述插件的升级包中的jar包文件、dex文件、nativelib库文件。优选的,所述基于所述覆盖安装字段信息调用所述插件的升级包中的相关更新文件覆盖所述插件的原有释放文件,具体包括:调用所述临时目录存放所述插件的升级包中的jar包文件、dex文件、nativelib库文件,覆盖拷贝到所述插件的原有释放文件的目录中;删除所述插件的原有释放文件。优选的,所述在所述插件中添加一覆盖安装字段信息,具体包括:将所述覆盖安装字段信息coverinfo以Json格式添加到所述应用程序的p.l文件中。优选的,所述基于所述覆盖安装字段信息调用所述插件的升级包中的相关更新文件覆盖所述插件的原有释放文件之后,所述方法还包括:更新所述插件的路径。优选的,所述基于所述覆盖安装字段信息调用所述插件的升级包中的相关更新文件覆盖所述插件的原有释放文件之后,所述方法还包括:向各进程发送广播通知,同步所述插件最新状态给各进程。优选的,所述基于所述覆盖安装字段信息调用所述插件的升级包中的相关更新文件覆盖所述插件的原有释放文件之后,所述方法还包括:更新所述插件所在进程的内存表信息。本专利技术的另一个方面,提供一种电子终端,包括:判断模块,用于判断所述插件的升级包中携带的版本号和所述插件的当前版本号是否相同;检测模块,用于若所述插件的升级包中携带的版本号和所述插件的当前版本号相同,则检测所述插件是否处于运行状态;解析模块,用于若所述插件处于运行状态,则解析并存储所述插件的升级包中的相关更新文件;添加模块,用于在所述插件中添加一覆盖安装字段信息,所述覆盖安装字段信息用于标识所述插件处于待更新状态;安装模块,用于在所述插件下次启动的过程中,基于所述覆盖安装字段信息调用所述插件的升级包中的相关更新文件覆盖所述插件的原有释放文件,以更新所述插件。优选的,所述解析模块,具体包括:解析子模块,用于解析所述插件的升级包中的相关更新文件;创建模块,用于创建和所述插件的原有释放文件同级的临时目录存放所述插件的升级包中的相关更新文件。优选的,所述创建模块,具体用于创建和所述插件的原有释放文件同级的临时目录存放所述插件的升级包中的jar包文件、dex文件、nativelib库文件。优选的,所述安装模块,具体包括:拷贝模块,用于调用所述临时目录存放所述插件的升级包中的jar包文件、dex文件、nativelib库文件,覆盖拷贝到所述插件的原有释放文件的目录中;删除模块,用于删除所述插件的原有释放文件。优选的,所述添加模块,具体用于将所述覆盖安装字段信息coverinfo以Json格式添加到所述应用程序的p.l文件中。优选的,所述电子终端还包括:更新模块,用于更新所述插件的路径。优选的,所述电子终端还包括:发送模块,用于向各进程发送广播通知,同步所述插件最新状态给各进程。优选的,所述电子终端还包括:更新模块,用于更新所述插件所在进程的内存表信息。本专利技术的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。本专利技术的另一个方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。本申请实施例中提供的技术方案,至少具有如下技术效果或优点:为了解决上述在更新插件时,必须依靠升级版本号来更新插件功能的问题,本专利技术公开了一种升级插件的方法及电子终端。该方法包括:判断所述插件的升级包中携带的版本号和所述插件的当前版本号是否相同;若所述插件的升级包中携带的版本号和所述插件的当前版本号相同,则表示是同版本插件的升级过程,并进一步检测所述插件是否处于运行状态;若所述插件处于运行状态,则解析并存储所述插件的升级包中的相关更新文件,在所述插件中添加一覆盖安装字段信息,所述覆盖安装字段信息用于标识所述插件处于待更新状态;然后在所述插件下次启动的过程中,基于所述覆盖安装字段信息调用所述插件的升级包中的相关更新文件覆盖所述插件的原有释放文件,以更新所述插件。由此,本专利技术能够在同版本的情况下进行覆盖升级操作,以更新插件中的功能,而不需要升级版本号才能够更新。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的一种升级插件的方法的实施过程图;图2示出了根据本专利技术一个实施例的一种电子终端的示意图。具体实施方式下面将参照附图更本文档来自技高网...

【技术保护点】
1.一种升级插件的方法,其特征在于,包括:判断所述插件的升级包中携带的版本号和所述插件的当前版本号是否相同;若所述插件的升级包中携带的版本号和所述插件的当前版本号相同,则检测所述插件是否处于运行状态;若所述插件处于运行状态,则解析并存储所述插件的升级包中的相关更新文件;在所述插件中添加一覆盖安装字段信息,所述覆盖安装字段信息用于标识所述插件处于待更新状态;在所述插件下次启动的过程中,基于所述覆盖安装字段信息调用所述插件的升级包中的相关更新文件覆盖所述插件的原有释放文件,以更新所述插件。

【技术特征摘要】
1.一种升级插件的方法,其特征在于,包括:判断所述插件的升级包中携带的版本号和所述插件的当前版本号是否相同;若所述插件的升级包中携带的版本号和所述插件的当前版本号相同,则检测所述插件是否处于运行状态;若所述插件处于运行状态,则解析并存储所述插件的升级包中的相关更新文件;在所述插件中添加一覆盖安装字段信息,所述覆盖安装字段信息用于标识所述插件处于待更新状态;在所述插件下次启动的过程中,基于所述覆盖安装字段信息调用所述插件的升级包中的相关更新文件覆盖所述插件的原有释放文件,以更新所述插件。2.如权利要求1所述的方法,其特征在于,所述解析并存储所述插件的升级包中的相关更新文件,具体包括:解析所述插件的升级包中的相关更新文件;创建和所述插件的原有释放文件同级的临时目录存放所述插件的升级包中的相关更新文件。3.如权利要求1所述的方法,其特征在于,所述创建和所述插件的原有释放文件同级的临时目录存放所述插件的升级包中的相关更新文件,具体包括:创建和所述插件的原有释放文件同级的临时目录存放所述插件的升级包中的jar包文件、dex文件、nativelib库文件。4.如权利要求3所述的方法,其特征在于,所述基于所述覆盖安装字段信息调用所述插件的升级包中的相关更新文件覆盖所述插件的原有释放文件,具体包括:调用所述临时目录存放所述插件的升级包中的jar包文件、dex文件、nativelib库文件,覆盖拷贝到所述插件的原有释放文件的目录中;删除所述插件的原有释放文件。5.如权利要求1所述的方法,其特征在于,所述在所述插件中添加一覆盖安...

【专利技术属性】
技术研发人员:刘存栋刘志伟卜云涛董涛
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

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

1