一种应用软件更新方法和装置的制造方法_2

文档序号:9579103阅读:来源:国知局
简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]图1为本发明实施例提供了一种应用软件更新方法的流程示意图;
[0037]图2为本发明实施例提供了第二种应用软件更新方法的流程示意图;
[0038]图3为本发明实施例提供了第三种应用软件更新方法的流程示意图;
[0039]图4为本发明实施例提供了第四种应用软件更新方法的流程示意图;
[0040]图5为本发明实施例提供了一种应用软件更新装置的结构示意图;
[0041]图6为本发明实施例提供了另一种应用软件更新装置的结构示意图。
【具体实施方式】
[0042]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0043]为了解决现有技术问题,本发明实施例提供了一种应用软件更新方法和装置,以通过对应用软件的更新包的静默伪安装,完成应用软件的自动更新,降低用户更新应用软件的操作繁琐度。
[0044]下面首先对本发明实施例所提供的一种应用软件更新方法进行介绍。
[0045]需要说明的是,本发明实施例所提供的一种应用软件更新方法应用于电子设备中,且该电子设备中已安装了可以应用本发明实施例所提供的更新方法的任一版本的应用软件以及该电子设备可以连接网络。该电子设备可以为智能手机、台式电脑、笔记本电脑、平板电脑等。
[0046]可以理解的是,本申请并不对该电子设备连接网络的方式进行限定,该电子设备可以使用数据流量、也可以使用无线网络、还可以使用有线网络,任何可以连接网络的方式,都是合理的。
[0047]需要说明的是,该方法不仅可以应用于该电子设备连接网络的情况下,也可以应用于该电子设备无连接网络的情况中,只要在该电子设备在连接网络的情况下,将关于该目标功能的更新包下载后,不管该电子设备处于连接网络的状态还是处于未连接网络的状态,都可以应用该应用软件更新方法。
[0048]如图1所示,本发明实施例所提供的一种应用软件更新方法,可以包括如下步骤:
[0049]S101:从该更新包中提取该目标功能的目标启动图标;
[0050]可以理解的是,下载完毕当前所运行应用软件的关于目标功能的更新包后,该功能包中包含与该目标功能相对应的目标启动图标,可以将该目标启动图标从该更新包中提取出。
[0051]需要说明的是,从该更新包中提取出该目标功能的目标启动图标时,可以采用现有技术,在此不作赘述。
[0052]具体的,所述目标功能可以为:当前所运行应用软件中已存在的功能或当前所运行软件中未存在的功能。
[0053]S102:在该应用软件的相应运行界面中输出该目标启动图标;
[0054]需要说明的是,在该应用软件的相应运行界面中输出该目标启动图标,可以采用现有技术,在此不作赘述。
[0055]需要说明的是,当该更新包用于对当前版本的应用软件增加尚未存在的新功能,则在该运行界面中输出该新功能对应的目标启动图标。
[0056]举例而言,当前版本为1.1的应用软件A,其中存在功能al.l、bl.U cl.1,现下载的更新包中,新添加了功能dl.1,则在该运行界面中输出该新功能dl.1的目标启动图标。
[0057]需要说明的是,当该更新包用于对当前版本的应用软件中的某一功能进行改进,则在该运行界面中用该新功能对应的目标启动图标替换原有的启动图标。
[0058]举例而言,当前版本为1.1的应用软件A,其中存在功能al.l、bl.U cl.1,现下载的更新包中,将功能al.1更新为功能al.2,则在该运行界面将功能al.2对应的图标替换功能al.1对应的图标。
[0059]需要说明的是,如果该下载的更新包中包括对该应用软件的启动图标进行修改或替换的更新成分,则该应用软件的启动图标也会进行相应的修改或替换。
[0060]具体的,实际应用中,根据对旧版本的应用软件出现的漏洞或问题的使用反馈,开发商为满足用户越来越多的使用要求,不断改进完善该应用软件,对应用软件的完善角度多种多样,则该目标功能可以为:当前所运行应用软件中已存在的功能或当前所运行软件中未存在的功能。
[0061]可以理解的是,该目标功能也可以为在该安装版本的应用软件的基础上,对该版本的漏洞进行修补的补丁插件,本申请并不对目标功能种类作限定,任何基于该电子设备安装的版本的应用软件的改进或修补都是合理的。
[0062]S103:在检测到用户基于该目标启动图标发出的功能开启操作后,调起预先声明的预定义组件,该预定义组件包括:启动任一功能均所需的固定组件;
[0063]举例而言,当前版本为1.1的应用软件A,其中存在功能al.l、bl.U cl.1,现更新包中包含新功能dl.1,则该预定义组件包括启动功能al.l、bl.l、cl.1和新功能dl.1所共需的固定组件。
[0064]当更新包是将功能al.1更新成al.2,则该预定义组件包括启动功能al.1、bl.1、cl.1和启动功能al.2中包含的所有功能所需的固定组件。
[0065]需要说明的是,现有技术中基于Android平台运行的应用软件,在运行时都会自动生成该应用软件各功能成功运行的所需的相应的固定组件,将该固定组件预先声明为预定义组件,在检测到用户基于该目标启动图标发出的功能开启操作后,直接调起该预先声明的预定义组件。
[0066]S104:基于所获取的该更新包,通过JAVA语言的反射特性,生成启动该目标功能所需的运行参数和运行环境,其中,该运行环境包括:该目标功能启动所需的对象的调用方法;
[0067]需要说明的是,对于不同的功能,都相对应着不同的启动所需的运行参数和运行环境。举例而言,运行新功能al.2所需的运行参数为a和b,所需的运行环境为c ;而运行新功能dl.1所需的运行参数为m,所需的运行环境为η。
[0068]需要说明的是,通过JAVA语言的反射特性生成启动该目标功能所需的运行参数和运行环境的方法可以基于Android平台运行的现有技术,在此不作赘述。
[0069]S105:通过JAVA语言的反射特性,在该运行环境中创建该目标功能运行所需的类和工具instrument对象;
[0070]需要说明的是,在Android平台中,在该运行环境中创建该目标功能运行所需的类和工具instrument对象,可以直接从该更新包中拷贝关于该目标功能运行所需的类和工具instrument对象,其中,该目标功能运行所需的类可以包括android, content.Contextffrapper 和 dalvik.system.DexClassLoader,而该目标功能运行所需的工具instrument对象可以包括android, app.1nstrumentat1n,关于该目标功能运行所需的类和工具instrument对象拷贝的过程均可以采用现有技术,在此不作赘述。
[0071]S106:通过JAVA语言的反射特性,修改该目标功能运行所需的类的预定
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1