一种基于移动终端的强相关apk升级方法及系统的制作方法

文档序号:9452912阅读:542来源:国知局
一种基于移动终端的强相关apk升级方法及系统的制作方法
【技术领域】
[0001]本发明涉及移动终端技术领域,尤其涉及一种基于移动终端的强相关apk升级方法及系统。
【背景技术】
[0002]在我们的android智能系统中,有的apk会与其他几个apk强相关,此处所谓强相关,是指这些apk是存在互相依赖关系,其中一个不存在;另外的apk则不能正常使用。
[0003]—个apk可以自升级,其余apk出于某些原因(本身apk不支持或者平台管理因素等)不能走自升级流程,只能依赖可升级的apk进行批量升级,以下我们称自升级apk为主apk,其余为依赖apk。
[0004]主apk的自升级与一般apk自升级流程一致,只是所下载的apk为一个zip包,其中包含了主apk的升级apk以及依赖apk的升级apk ;
apk的升级流程走正常的系统升级流程,即调用系统的升级接口,接收系统的升级广播,成功或失败;zip包下载完成后解压成多个apk,调用系统安装接口进行依次安装。
[0005]在现有条件下多个apk的安装是互不相关的,而安装成功或失败是不确定的,对于强相关apk来说,一旦有的apk升级成功,而有的apk升级失败,那么升级后的apk也无法使用。
[0006]因此,现有技术还有待于改进和发展。

【发明内容】

[0007]本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于移动终端的强相关apk升级方法及系统,旨在解决现有技术中有的apk与其他几个apk强相关,当apk通常是自升级,若会出现有的apk升级成功,有的apk升级失败,那么升级失败的强相关apk就无法正常工作的缺陷,实现强相关的apk保持版本一致性,要么同时升级,或者当其中任意一个升级失败时,保持原来的版本。
[0008]本发明解决技术问题所采用的技术方案如下:
一种基于移动终端的强相关apk升级方法,其中,所述方法包括:
A、强相关的若干个apk中的主apk获取升级安装包;
B、根据升级安装包获取需要升级的现有的apk的安装路径,并将现有的apk安装文件复制到临时文件下存放,开始对所有需要升级的apk进行升级;
C、当检测到所有需要升级的apk全部升级成功,则删除临时文件下存放的现有的apk安装文件,升级完成。
[0009]所述的基于移动终端的强相关apk升级方法,其中,所述步骤A之前还包括:
预先存储一个已成功升级apk列表用于保存升级成功的apk。
[0010]所述的基于移动终端的强相关apk升级方法,其中,所述步骤C之后还包括:
D、若当检测到所有需要升级的apk中的任意一个apk升级失败,则卸载已升级的apk,并重新安装临时文件下存放的apk安装文件,升级失败。
[0011]所述的基于移动终端的强相关apk升级方法,其中,所述步骤B具体包括:
B1、将获取的升级安装包解压获取新的apk,并解析各新的apk对应的安装包名;
B2、根据各新的apk安装包名获取现有的apk的安装路径;
B3、将现有的apk安装文件复制到临时文件暂时存放;
B4、调用系统升级接口对所有需要升级的apk进行升级。
[0012]所述的基于移动终端的强相关apk升级方法,其中,所述步骤C具体包括:
Cl、所述升级程序升级成功一个apk后,将升级成功后的apk加入已成功升级apk列表,并继续升级下一个apk ;
C2、检测到所有需要升级的apk全部升级成功,删除临时文件下存放的现有的apk安装文件,升级完成。
[0013]一种基于移动终端的强相关apk升级系统,其中,所述系统包括:
获取模块,用于升级强相关的若干个apk中的主apk获取升级安装包;
路径复制及升级模块,用于根据升级安装包获取需要升级的现有的apk的安装路径,并将现有的apk安装文件复制到临时文件下存放,开始对所有需要升级的apk进行升级;检测与控制模块,用于当检测到所有需要升级的apk全部升级成功,则删除临时文件下存放的现有的apk安装文件,升级完成。
[0014]所述的基于移动终端的强相关apk升级系统,其中,所述系统还包括:
预先存储模块,用于预先存储一个已成功升级apk列表用于保存升级成功的apk。
[0015]所述的基于移动终端的强相关apk升级系统,其中,所述系统还包括:
卸载及重装模块,用于若当检测到所有需要升级的apk中的任意一个apk升级失败,则卸载已升级的apk,并重新安装临时文件下存放的apk安装文件,升级失败。
[0016]所述的基于移动终端的强相关apk升级系统,其中,所述路径复制及升级模块具体包括:
获取与解析单元,用于将获取的升级安装包解压获取新的apk,并解析各新的apk对应的安装包名;
安装路径获取单元,用于根据各新的apk安装包名获取现有的apk的安装路径;
复制与存放单元,用于将现有的apk安装文件复制到临时文件暂时存放;
升级单元,用于调用系统升级接口对所有需要升级的apk进行升级。
[0017]所述的基于移动终端的强相关apk升级系统,其中,所述检测与控制模块具体包括:
列表单元,用于所述升级程序升级成功一个apk后,将升级成功后的apk加入已成功升级apk列表,并继续升级下一个apk ;
检测与删除单元,用于检测到所有需要升级的apk全部升级成功,删除临时文件下存放的现有的apk安装文件,升级完成。
[0018]有益效果:本发明可以实现在强相关的几个apk在升级时批量升级,当其中一个升级失败时,全部回退到升级前版本,防止有的apk升级成功,有些apk升级失败,导致强相关的apk无法工作的状况,为用户提供了方便。
【附图说明】
[0019]图1是本发明的一种基于移动终端的强相关apk升级方法的较佳实施例的流程图。
[0020]图2是本发明的一种基于移动终端的强相关apk升级方法的具体应用实施例的流程图。
[0021]图3是本发明的一种基于移动终端的强相关apk升级系统的较佳实施例的功能原理框图。
【具体实施方式】
[0022]为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0023]本发明第一实施例所述的一种基于移动终端的强相关apk升级方法,如图1所示,包括:
步骤S100、强相关的若干个apk中的主apk获取升级安装包。
[0024]具体实施时,本发明实施例中,利用主apk控制其他强相关的若干个apk。本发明中对于强书当然的apk个数不作限制,可以是2个、3个,也可以是5、6个。当采用andr1d系统的手机提示手机可升级时,主apk可利用自升级流程获取升级安装包,利用主apk控制从网络获取升级安装包,安装文件一般是存储在文件格式为zip格式的压缩文件包。
[0025]步骤S200、根据升级安装包获取需要升级的现有的apk的安装路径,并将现有的apk安装文件复制到临时文件下存放,开始对所有需要升级的apk进行升级。
[0026]具体实施时,所述步骤S200具体包括:
步骤S21、将获取的升级安装包解压获取新的apk,并解析各新的apk对应的安装包名;
步骤S22、根据各新的apk安装包名获取现有的apk的安装路径;
步骤S23、将现有的apk安装文件复制到临时文件暂时存放;
步骤S24、调用系统升级接口对所有需要升级的apk进行升级。
[0027]具体实施时,主apk控制将zip包进行解压,获取到要升级的新的apk。此时根据apk获取相应的安装包名,根据安装包名查询现有的apk安装路径。现有的apk可能是安装在data/app下或者是安装在system/app下。将安装在data/app下或者是安装在system/app下的升级前的apk复制到一个临时文件,该文件的为一个临时目录,该临时目录可以是主apk的data目录下或者外置sd目录下,由主apk应用控制。当除主apk外的其他apk都复制到临时文件后,调用系统升级接口升级所有需要升级的apk。
[0028]步骤S300、当检测到所有需要升级的apk全部升级成功,则删除临时文件下存放的现有的apk安装文件,升级完成。
[0029]所述步骤S300具体包括:
步骤S301、所述升级程序升级成功一个apk后,将升级成功后的apk加入apk列表,并继续升级下一个apk;
步骤S302、检测到所有需要升级的apk全部升级成功,删除临时文件下存放的现有的apk安装文件,升级完成。
[0030]具体实施时,所述步骤SlOO之前还包括:
步骤S1、预先存储一个已成功升级apk列表用于保存升级成功的apk。具体实施时,当升级所有需要升级的apk时,每升级成功一个,则将该升级成功的apk加入到该已成功升级apk列表,并继续升级下一个apk,直到所有需要升级的apk升级成功后,删除临时文件保存的所有的旧apk安装文件,批量升级成功。
[0031]进一步的实施例中,所述步骤S300之后还包括:
步骤S400、若当检测到所有需要升级的apk中的任意一个apk升级失败,则卸载已升级的apk,并重新安装临时文件下存放的apk安装文件,升级失败。
[0032]具体实施时,如果检测到任意一个apk中升级失败,查询上述apk列表中安装成功的ap
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1