CN105335201A - 一种应用软件更新方法和装置 - Google Patents
一种应用软件更新方法和装置 Download PDFInfo
- Publication number
- CN105335201A CN105335201A CN201510860173.5A CN201510860173A CN105335201A CN 105335201 A CN105335201 A CN 105335201A CN 201510860173 A CN201510860173 A CN 201510860173A CN 105335201 A CN105335201 A CN 105335201A
- Authority
- CN
- China
- Prior art keywords
- objective function
- application software
- function
- needed
- tune
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种应用软件更新方法和装置,方案包括:下载完关于目标功能的更新包后,从更新包中提取该目标功能的目标启动图标,在相应运行界面输出;检测到目标启动图标被启动的操作后,调起预定义组件;基于该更新包,通过JAVA语言的反射特性,生成启动该目标功能所需的运行参数和包括该目标功能启动所需的对象的调用方法的运行环境,在该运行环境中创建该目标功能运行所需的类和工具对象,修改所需类的预定变量,根据该修改后的预定成员变量值,在调起的预定义组件的生命周期中通过该instrument对象和运行参数,调起关于该目标功能运行所需的对象的调用方法,以实现该目标功能的启动。应用本发明实施例可以实现应用软件的自动更新与静默伪安装。
Description
技术领域
本发明涉及软件开发应用领域,特别涉及一种应用软件更新方法和装置。
背景技术
近年来,随着信息科技的发展,电子设备发展迅猛,各类应用软件层出不穷。其中,应用软件在发布后,可能会存在一些漏洞或新功能的补充。这时,开发商会通过发布该应用软件的更新包的方式,来实现漏洞修补以及补充新功能。
现有技术中,为了实现漏洞修补和/或补充新功能,用户需要通过第三方应用软件的提示,手动下载并手动安装更新包来完成应用软件的更新。这时就会出现当第三方应用软件没有操作系统的系统权限时,该应用软件就无法实现静默安装,导致用户需要手动操作来完成应用软件的更新。
发明内容
本发明实施例公开了一种应用软件更新方法和装置,以通过对应用软件的更新包的静默伪安装,完成应用软件的自动更新,降低用户更新应用软件的操作繁琐度。具体方案如下:
一方面,本发明实施例提供了一种应用软件更新方法,应用于电子设备中,所述方法包括:
下载完毕当前所运行应用软件的关于目标功能的更新包后,从所述更新包中提取所述目标功能的目标启动图标,并在所述应用软件的相应运行界面中输出所述目标启动图标;
在检测到用户基于所述目标启动图标发出的功能开启操作后,调起预先声明的预定义组件,所述预定义组件包括:启动任一功能均所需的固定组件;
基于所获取的所述更新包,通过JAVA语言的反射特性,生成启动所述目标功能所需的运行参数和运行环境,其中,所述运行环境包括:所述目标功能启动所需的对象的调用方法;
通过JAVA语言的反射特性,在该运行环境中创建所述目标功能运行所需的类和工具instrument对象;
通过JAVA语言的反射特性,修改所述目标功能运行所需的类的预定成员变量值;
根据所述修改后的预定成员变量值,在调起的已声明的所述预定义组件的生命周期中通过所述instrument对象和所述运行参数,执行关于所述目标功能运行所需的对象的调用方法的调起操作,以实现所述目标功能的启动。
较佳的,本发明实施例提供的一种应用软件更新方法还包括:
定时向当前所运行应用软件所对应的服务器发送携带有所述应用软件的当前版本标识的更新请求,以使得服务器基于所述当前版本标识检测是否存在所述应用软件的目标功能的更新包,如果存在,则将所述更新包反馈给所述电子设备;
下载所述服务器反馈的当前所运行应用软件的关于目标功能的更新包。
较佳的,所述目标功能为:当前所运行应用软件中已存在的功能或当前所运行软件中未存在的功能。
较佳的,本发明实施例提供的一种应用软件更新方法还包括:
执行关于所述目标功能运行所需的对象的调用方法的调起操作后,输出关于所述目标功能的调起结果的提示信息,其中,所述调起结果包括:所述目标功能被启动成功或所述目标功能被启动失败。
较佳的,本发明实施例提供的一种应用软件更新方法还包括:
执行关于所述目标功能运行所需的对象的调用方法的调起操作后,如果调起失败,重新执行基于所获取的所述更新包,通过JAVA语言的反射特性,生成启动所述目标功能所需的运行参数和运行环境的步骤。
另一方面,本发明实施例还提供了一种应用软件更新装置,应用于电子设备中,所述装置包括:
目标启动图标提取输出模块:用于下载完毕当前所运行应用软件的关于目标功能的更新包后,从所述更新包中提取所述目标功能的目标启动图标,并在所述应用软件的相应运行界面中输出所述目标启动图标;
预定义组件调起模块:用于在检测到用户基于所述目标启动图标发出的功能开启操作后,调起预先声明的预定义组件,所述预定义组件包括:启动任一功能均所需的固定组件;
启动数据生成模块:用于基于所获取的所述更新包,通过JAVA语言的反射特性,生成启动所述目标功能所需的运行参数和运行环境,其中,所述运行环境包括:所述目标功能启动所需的对象的调用方法;
运行数据创建模块:用于通过JAVA语言的反射特性,在该运行环境中创建所述目标功能运行所需的类和工具instrument对象;
预定成员变量值修改模块:用于通过JAVA语言的反射特性,修改所述所述目标功能运行所需的类的预定成员变量值;
对象调用方法执行模块:用于根据所述修改后的预定成员变量值,在调起的已声明的所述预定义组件的生命周期中通过所述instrument对象和所述运行参数,执行关于所述目标功能运行所需的对象的调用方法的调起操作,以实现所述目标功能的启动。
较佳的,本发明实施例提供的一种应用软件更新装置还包括更新请求发送模块和更新包下载模块;
所述更新请求发送模块:用于定时向当前所运行应用软件所对应的服务器发送携带有所述应用软件的当前版本标识的更新请求,以使得服务器基于所述当前版本标识检测是否存在所述应用软件的目标功能的更新包,如果存在,则将所述更新包反馈给所述电子设备;
所述更新包下载模块:用于下载所述服务器反馈的当前所运行应用软件的关于目标功能的更新包。
较佳的,所述目标功能为:当前所运行应用软件中已存在的功能或当前所运行软件中未存在的功能。
较佳的,本发明实施例提供的一种应用软件更新装置还包括调起结果提示模块;
所述调起结果提示模块:用于执行关于所述目标功能运行所需的对象的调用方法的调起操作后,输出关于所述目标功能的调起结果的提示信息,其中,所述调起结果包括:所述目标功能被启动成功或所述目标功能被启动失败。
较佳的,所述对象调用方法执行模块还用于在所述执行关于所述目标功能运行所需的对象的调用方法的调起操作后,如果调起失败,重新执行启动数据生成模块。
与现有技术相比,本方案下载完毕当前运行的应用软件的目标功能的更新包后,提取该目标功能的目标启动图标并在该应用软件的运行界面输出,在检测到启动所述目标功能的操作后,调起包括任一功能启动所需的固定组件在内的预定义组件,基于该更新包,通过JAVA语言的反射特性,生成启动该目标功能所需的运行参数和包括该目标功能启动所需的对象的调用方法的运行环境,在该运行环境中创建该目标功能运行所需的类和工具对象,修改所需类的预定变量,根据该修改后的预定成员变量值,在调起的预定义组件的生命周期中通过该instrument对象和运行参数,调起关于该目标功能运行所需的对象的调用方法,来实现在不安装该目标功能的更新包的情况下,依旧能够调起使用更新包中的新功能;并且整个下载更新过程均自动在后台运行,实现了新功能的动态更新与静默伪安装,完成了应用软件的自动更新,降低了用户更新应用软件的操作繁琐度,提升了用户的使用体验。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供了一种应用软件更新方法的流程示意图;
图2为本发明实施例提供了第二种应用软件更新方法的流程示意图;
图3为本发明实施例提供了第三种应用软件更新方法的流程示意图;
图4为本发明实施例提供了第四种应用软件更新方法的流程示意图;
图5为本发明实施例提供了一种应用软件更新装置的结构示意图;
图6为本发明实施例提供了另一种应用软件更新装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术问题,本发明实施例提供了一种应用软件更新方法和装置,以通过对应用软件的更新包的静默伪安装,完成应用软件的自动更新,降低用户更新应用软件的操作繁琐度。
下面首先对本发明实施例所提供的一种应用软件更新方法进行介绍。
需要说明的是,本发明实施例所提供的一种应用软件更新方法应用于电子设备中,且该电子设备中已安装了可以应用本发明实施例所提供的更新方法的任一版本的应用软件以及该电子设备可以连接网络。该电子设备可以为智能手机、台式电脑、笔记本电脑、平板电脑等。
可以理解的是,本申请并不对该电子设备连接网络的方式进行限定,该电子设备可以使用数据流量、也可以使用无线网络、还可以使用有线网络,任何可以连接网络的方式,都是合理的。
需要说明的是,该方法不仅可以应用于该电子设备连接网络的情况下,也可以应用于该电子设备无连接网络的情况中,只要在该电子设备在连接网络的情况下,将关于该目标功能的更新包下载后,不管该电子设备处于连接网络的状态还是处于未连接网络的状态,都可以应用该应用软件更新方法。
如图1所示,本发明实施例所提供的一种应用软件更新方法,可以包括如下步骤:
S101:从该更新包中提取该目标功能的目标启动图标;
可以理解的是,下载完毕当前所运行应用软件的关于目标功能的更新包后,该功能包中包含与该目标功能相对应的目标启动图标,可以将该目标启动图标从该更新包中提取出。
需要说明的是,从该更新包中提取出该目标功能的目标启动图标时,可以采用现有技术,在此不作赘述。
具体的,所述目标功能可以为:当前所运行应用软件中已存在的功能或当前所运行软件中未存在的功能。
S102:在该应用软件的相应运行界面中输出该目标启动图标;
需要说明的是,在该应用软件的相应运行界面中输出该目标启动图标,可以采用现有技术,在此不作赘述。
需要说明的是,当该更新包用于对当前版本的应用软件增加尚未存在的新功能,则在该运行界面中输出该新功能对应的目标启动图标。
举例而言,当前版本为1.1的应用软件A,其中存在功能a1.1、b1.1、c1.1,现下载的更新包中,新添加了功能d1.1,则在该运行界面中输出该新功能d1.1的目标启动图标。
需要说明的是,当该更新包用于对当前版本的应用软件中的某一功能进行改进,则在该运行界面中用该新功能对应的目标启动图标替换原有的启动图标。
举例而言,当前版本为1.1的应用软件A,其中存在功能a1.1、b1.1、c1.1,现下载的更新包中,将功能a1.1更新为功能a1.2,则在该运行界面将功能a1.2对应的图标替换功能a1.1对应的图标。
需要说明的是,如果该下载的更新包中包括对该应用软件的启动图标进行修改或替换的更新成分,则该应用软件的启动图标也会进行相应的修改或替换。
具体的,实际应用中,根据对旧版本的应用软件出现的漏洞或问题的使用反馈,开发商为满足用户越来越多的使用要求,不断改进完善该应用软件,对应用软件的完善角度多种多样,则该目标功能可以为:当前所运行应用软件中已存在的功能或当前所运行软件中未存在的功能。
可以理解的是,该目标功能也可以为在该安装版本的应用软件的基础上,对该版本的漏洞进行修补的补丁插件,本申请并不对目标功能种类作限定,任何基于该电子设备安装的版本的应用软件的改进或修补都是合理的。
S103:在检测到用户基于该目标启动图标发出的功能开启操作后,调起预先声明的预定义组件,该预定义组件包括:启动任一功能均所需的固定组件;
举例而言,当前版本为1.1的应用软件A,其中存在功能a1.1、b1.1、c1.1,现更新包中包含新功能d1.1,则该预定义组件包括启动功能a1.1、b1.1、c1.1和新功能d1.1所共需的固定组件。
当更新包是将功能a1.1更新成a1.2,则该预定义组件包括启动功能a1.1、b1.1、c1.1和启动功能a1.2中包含的所有功能所需的固定组件。
需要说明的是,现有技术中基于Android平台运行的应用软件,在运行时都会自动生成该应用软件各功能成功运行的所需的相应的固定组件,将该固定组件预先声明为预定义组件,在检测到用户基于该目标启动图标发出的功能开启操作后,直接调起该预先声明的预定义组件。
S104:基于所获取的该更新包,通过JAVA语言的反射特性,生成启动该目标功能所需的运行参数和运行环境,其中,该运行环境包括:该目标功能启动所需的对象的调用方法;
需要说明的是,对于不同的功能,都相对应着不同的启动所需的运行参数和运行环境。举例而言,运行新功能a1.2所需的运行参数为a和b,所需的运行环境为c;而运行新功能d1.1所需的运行参数为m,所需的运行环境为n。
需要说明的是,通过JAVA语言的反射特性生成启动该目标功能所需的运行参数和运行环境的方法可以基于Android平台运行的现有技术,在此不作赘述。
S105:通过JAVA语言的反射特性,在该运行环境中创建该目标功能运行所需的类和工具instrument对象;
需要说明的是,在Android平台中,在该运行环境中创建该目标功能运行所需的类和工具instrument对象,可以直接从该更新包中拷贝关于该目标功能运行所需的类和工具instrument对象,其中,该目标功能运行所需的类可以包括android.content.ContextWrapper和dalvik.system.DexClassLoader,而该目标功能运行所需的工具instrument对象可以包括android.app.Instrumentation,关于该目标功能运行所需的类和工具instrument对象拷贝的过程均可以采用现有技术,在此不作赘述。
S106:通过JAVA语言的反射特性,修改该目标功能运行所需的类的预定成员变量值;
需要说明的是,在生成的关于该目标功能运行所需的类中的成员变量一般为默认数值,通过JAVA语言的反射特性可以将预定成员变量值修改为符合该目标功能运行所需的变量值,该预定成员变量可以包括:ActivityThread、mMainThread、intmToken、StringmEmbeddedID、ActivityInfomActivityInfo、ConfigurationmCurrentConfig、StringmReferrer、VoiceInteractormVoiceInteractor,基于Android平台运行的现有技术中,可以根据JAVA语言的反射特性将该预定成员变量从默认值自动修改为符合该目标功能运行所需的变量值。
S107:根据该修改后的预定成员变量值,在调起的已声明的该预定义组件的生命周期中通过该instrument对象和该运行参数,执行关于该目标功能运行所需的对象的调用方法的调起操作,以实现该目标功能的启动。
需要说明的是,该运行参数和该instrument对象中记录了在调起的已声明的该预定义组件的生命周期中,执行关于该目标功能运行所需的对象的调用方法的调起操作的执行调起方式和执行调起时间,并且该instrument对象可以为该目标功能运行所需的对象的调用方法提供执行调起工具。
可见,应用本发明实施例,可以在下载关于目标功能的更新包完毕后,在应用软件的运行界面中输出目标功能对应的目标启动图标,开启该目标功能后,应用软件在后台自动调起、创建对应生成该目标功能的运行所需数据,通过应用软件目标功能的自动静默伪安装,完成了应用软件的自动更新,降低了用户更新应用软件的操作繁琐度。
当然,在实际应用中,在执行关于该目标功能运行所需的类的调起操作后,还可能存在未被调起成功的情况,因此,在另一种实现方式中,为了提示用户该目标功能的调起结果,可以提示用户该目标功能是否调起成功,从而后续通过用户的指示进行操作,基于该种处理思想,如图2所示,在上述包括步骤S101~S107的实施例的基础上,本发明实施例提供的一种应用软件更新方法还可以包括:
S108:输出关于该目标功能的调起结果的提示信息,根据该提示信息判断该目标功能是否被启动成功。
其中,对于该提示信息,该调起结果包括:该目标功能被启动成功或该目标功能被启动失败。
可以理解的是,该目标功能被启动成功或被启动失败的提示信息可以为运行界面的跳转或者声音提示或者运行界面的亮度的变化或者相关文字的信息,这些都是合理的。
在另一种实现方式中,可以在该目标功能未被调起成功时,自动继续执行调起操作,基于该种处理思想,如图3所示,在上述包括步骤S101~S107的实施例的基础上,
S109:判断调起是否失败,如果失败,继续执行步骤S104,否则,结束流程。
应用本发明实施例,可以在下载关于目标功能的更新包完毕后,在应用软件的运行界面中输出目标功能对应的目标启动图标,开启该目标功能后,应用软件在后台自动调起、创建对应该目标功能的运行文件,实现该目标功能的启动应用,当未被调起成功时,继续自动执行调起操作,通过应用软件目标功能的自动静默伪安装,完成了应用软件的自动更新,降低了用户更新应用软件的操作繁琐度。
需要说明的是,在实际应用中,下载当前所运行应用软件的关于目标功能的更新包的方式可以为用户手动下载;进一步的,为了降低用户更新应用软件的操作繁琐度,在该电子设备接入网络的前提下,该应用软件可以基于该电子设备定时或不定时的向相应的服务器发送携带有该应用软件当前版本标识的更新请求;相应的,该服务器会根据接收到的更新请求中携带的该应用软件当前版本标识,确定本地是否有基于该应用软件当前版本的更新包,如果有,将该更新包反馈给电子设备,以使该电子设备下载该更新包。该应用软件自动向相对应的服务器发送更新请求,可以使应用软件的更新更实时、及时,实现动态更新。基于上述描述内容,基于步骤S101~S107的实施例,如图4所示,本发明实施例提供的一种应用软件更新方法还可以包括:
S110:定时向当前所运行应用软件所对应的服务器发送携带有该应用软件的当前版本标识的更新请求,以使得服务器基于该当前版本标识检测是否存在该应用软件的目标功能的更新包,如果存在,则将该更新包反馈给该电子设备;
S111:下载所述服务器反馈的当前所运行应用软件的关于目标功能的更新包。
其中,通过S110~S111实现了应用软件的更新包的自动下载。
相应于上述方法实施例,本发明实施例还提供了一种应用软件更新装置,应用于电子设备中,如图5所示,所述装置可以包括:
目标启动图标提取输出模块501:用于下载完毕当前所运行应用软件的关于目标功能的更新包后,从该更新包中提取该目标功能的目标启动图标,并在该应用软件的相应运行界面中输出该目标启动图标;
预定义组件调起模块502:用于在检测到用户基于该目标启动图标发出的功能开启操作后,调起预先声明的预定义组件,该预定义组件包括:启动任一功能均所需的固定组件;
启动数据生成模块503:用于基于所获取的所述更新包,通过JAVA语言的反射特性,生成启动该目标功能所需的运行参数和运行环境,其中,该运行环境包括:该目标功能启动所需的对象的调用方法;
运行数据创建模块504:用于通过JAVA语言的反射特性,在该运行环境中创建所述目标功能运行所需的类和工具instrument对象;
预定成员变量值修改模块505:用于通过JAVA语言的反射特性,修改该目标功能运行所需的类的预定成员变量值;
对象调用方法执行模块506:用于根据该修改后的预定成员变量值,在调起的已声明的该预定义组件的生命周期中通过该instrument对象和该运行参数,执行关于该目标功能运行所需的对象的调用方法的调起操作,以实现该目标功能的启动。
应用本发明实施例,可以在下载关于目标功能的更新包完毕后,在应用软件的运行界面中输出目标功能对应的目标启动图标,开启该目标功能后,应用软件在后台自动调起、创建对应生成该目标功能的运行所需数据,通过应用软件目标功能的自动静默伪安装,完成了应用软件的自动更新,降低了用户更新应用软件的操作繁琐度。
具体的,本发明实施例提供的一种应用软件更新装置还可以包括更新请求发送模块601和更新包下载模块602;如图6所示,
该更新请求发送模块601:用于定时向当前所运行应用软件所对应的服务器发送携带有该应用软件的当前版本标识的更新请求,以使得服务器基于该当前版本标识检测是否存在该应用软件的目标功能的更新包,如果存在,则将该更新包反馈给该电子设备;
该更新包下载模块602:用于下载该服务器反馈的当前所运行应用软件的关于目标功能的更新包。
具体的,所述目标功能可以为:当前所运行应用软件中已存在的功能或当前所运行软件中未存在的功能。
具体的,如图6所示,本发明实施例提供的一种应用软件更新装置还可以包括调起结果提示模块507;
该调起结果提示模块507:用于执行关于该目标功能运行所需的类的调起操作后,输出关于该目标功能的调起结果的提示信息,其中,该调起结果包括:该目标功能被启动成功或该目标功能被启动失败。
具体的,该对象调用方法执行模块506还用于在该执行关于该目标功能运行所需的对象的调用方法的调起操作后,如果调起失败,重新执行启动数据生成模块503。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种应用软件更新方法,其特征在于,应用于电子设备中,所述方法包括:
下载完毕当前所运行应用软件的关于目标功能的更新包后,从所述更新包中提取所述目标功能的目标启动图标,并在所述应用软件的相应运行界面中输出所述目标启动图标;
在检测到用户基于所述目标启动图标发出的功能开启操作后,调起预先声明的预定义组件,所述预定义组件包括:启动任一功能均所需的固定组件;
基于所获取的所述更新包,通过JAVA语言的反射特性,生成启动所述目标功能所需的运行参数和运行环境,其中,所述运行环境包括:所述目标功能启动所需的对象的调用方法;
通过JAVA语言的反射特性,在该运行环境中创建所述目标功能运行所需的类和工具instrument对象;
通过JAVA语言的反射特性,修改所述目标功能运行所需的类的预定成员变量值;
根据所述修改后的预定成员变量值,在调起的已声明的所述预定义组件的生命周期中通过所述instrument对象和所述运行参数,执行关于所述目标功能运行所需的对象的调用方法的调起操作,以实现所述目标功能的启动。
2.根据权利要求1所述的方法,其特征在于,还包括:
定时向当前所运行应用软件所对应的服务器发送携带有所述应用软件的当前版本标识的更新请求,以使得服务器基于所述当前版本标识检测是否存在所述应用软件的目标功能的更新包,如果存在,则将所述更新包反馈给所述电子设备;
下载所述服务器反馈的当前所运行应用软件的关于目标功能的更新包。
3.根据权利要求1所述的方法,其特征在于,所述目标功能为:当前所运行应用软件中已存在的功能或当前所运行软件中未存在的功能。
4.根据权利要求1所述的方法,其特征在于,还包括:
执行关于所述目标功能运行所需的对象的调用方法的调起操作后,输出关于所述目标功能的调起结果的提示信息,其中,所述调起结果包括:所述目标功能被启动成功或所述目标功能被启动失败。
5.根据权利要求1所述的方法,其特征在于,还包括:
执行关于所述目标功能运行所需的对象的调用方法的调起操作后,如果调起失败,重新执行基于所获取的所述更新包,通过JAVA语言的反射特性,生成启动所述目标功能所需的运行参数和运行环境的步骤。
6.一种应用软件更新装置,其特征在于,应用于电子设备中,所述装置包括:
目标启动图标提取输出模块:用于下载完毕当前所运行应用软件的关于目标功能的更新包后,从所述更新包中提取所述目标功能的目标启动图标,并在所述应用软件的相应运行界面中输出所述目标启动图标;
预定义组件调起模块:用于在检测到用户基于所述目标启动图标发出的功能开启操作后,调起预先声明的预定义组件,所述预定义组件包括:启动任一功能均所需的固定组件;
启动数据生成模块:用于基于所获取的所述更新包,通过JAVA语言的反射特性,生成启动所述目标功能所需的运行参数和运行环境,其中,所述运行环境包括:所述目标功能启动所需的对象的调用方法;
运行数据创建模块:用于通过JAVA语言的反射特性,在该运行环境中创建所述目标功能运行所需的类和工具instrument对象;
预定成员变量值修改模块:用于通过JAVA语言的反射特性,修改所述所述目标功能运行所需的类的预定成员变量值;
对象调用方法执行模块:用于根据所述修改后的预定成员变量值,在调起的已声明的所述预定义组件的生命周期中通过所述instrument对象和所述运行参数,执行关于所述目标功能运行所需的对象的调用方法的调起操作,以实现所述目标功能的启动。
7.根据权利要求6所述的装置,其特征在于,还包括更新请求发送模块和更新包下载模块;
所述更新请求发送模块:用于定时向当前所运行应用软件所对应的服务器发送携带有所述应用软件的当前版本标识的更新请求,以使得服务器基于所述当前版本标识检测是否存在所述应用软件的目标功能的更新包,如果存在,则将所述更新包反馈给所述电子设备;
所述更新包下载模块:用于下载所述服务器反馈的当前所运行应用软件的关于目标功能的更新包。
8.根据权利要求6所述的装置,其特征在于,所述目标功能为:当前所运行应用软件中已存在的功能或当前所运行软件中未存在的功能。
9.根据权利要求6所述的装置,其特征在于,还包括调起结果提示模块;
所述调起结果提示模块:用于执行关于所述目标功能运行所需的对象的调用方法的调起操作后,输出关于所述目标功能的调起结果的提示信息,其中,所述调起结果包括:所述目标功能被启动成功或所述目标功能被启动失败。
10.根据权利要求6所述的装置,其特征在于,所述对象调用方法执行模块还用于在所述执行关于所述目标功能运行所需的对象的调用方法的调起操作后,如果调起失败,重新执行启动数据生成模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510860173.5A CN105335201B (zh) | 2015-11-30 | 2015-11-30 | 一种应用软件更新方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510860173.5A CN105335201B (zh) | 2015-11-30 | 2015-11-30 | 一种应用软件更新方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105335201A true CN105335201A (zh) | 2016-02-17 |
CN105335201B CN105335201B (zh) | 2019-06-14 |
Family
ID=55285762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510860173.5A Active CN105335201B (zh) | 2015-11-30 | 2015-11-30 | 一种应用软件更新方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105335201B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017157178A1 (zh) * | 2016-03-15 | 2017-09-21 | 阿里巴巴集团控股有限公司 | 一种移动终端应用程序的更新方法和装置 |
CN107395955A (zh) * | 2017-06-14 | 2017-11-24 | 广东小天才科技有限公司 | 一种确定摄像头模块上电时序的方法及用户终端 |
CN110622149A (zh) * | 2018-11-30 | 2019-12-27 | 阿里巴巴集团控股有限公司 | 基于二进制日志复制的区块链数据关系结构方案 |
CN112235342A (zh) * | 2020-09-03 | 2021-01-15 | 苏宁云计算有限公司 | 异常运行环境的修复方法、装置、计算机设备和存储介质 |
CN114338533A (zh) * | 2021-12-30 | 2022-04-12 | 广东明创软件科技有限公司 | 一种调整方法、电子设备及计算机存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793248A (zh) * | 2014-01-23 | 2014-05-14 | 北京奇虎科技有限公司 | 一种应用程序升级的方法及装置 |
CN103840968A (zh) * | 2014-01-02 | 2014-06-04 | 深圳市金立通信设备有限公司 | 一种版本更新方法、装置及终端设备 |
CN103902265A (zh) * | 2012-12-26 | 2014-07-02 | 腾讯科技(深圳)有限公司 | 一种应用实现方法及相关装置 |
CN104199703A (zh) * | 2014-09-05 | 2014-12-10 | 北京奇虎科技有限公司 | 静默安装的管理方法及装置 |
CN105094922A (zh) * | 2015-08-17 | 2015-11-25 | 北京奇虎科技有限公司 | 应用程序免安装运行控制方法及其装置 |
-
2015
- 2015-11-30 CN CN201510860173.5A patent/CN105335201B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902265A (zh) * | 2012-12-26 | 2014-07-02 | 腾讯科技(深圳)有限公司 | 一种应用实现方法及相关装置 |
CN103840968A (zh) * | 2014-01-02 | 2014-06-04 | 深圳市金立通信设备有限公司 | 一种版本更新方法、装置及终端设备 |
CN103793248A (zh) * | 2014-01-23 | 2014-05-14 | 北京奇虎科技有限公司 | 一种应用程序升级的方法及装置 |
CN104199703A (zh) * | 2014-09-05 | 2014-12-10 | 北京奇虎科技有限公司 | 静默安装的管理方法及装置 |
CN105094922A (zh) * | 2015-08-17 | 2015-11-25 | 北京奇虎科技有限公司 | 应用程序免安装运行控制方法及其装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017157178A1 (zh) * | 2016-03-15 | 2017-09-21 | 阿里巴巴集团控股有限公司 | 一种移动终端应用程序的更新方法和装置 |
CN107395955A (zh) * | 2017-06-14 | 2017-11-24 | 广东小天才科技有限公司 | 一种确定摄像头模块上电时序的方法及用户终端 |
CN110622149A (zh) * | 2018-11-30 | 2019-12-27 | 阿里巴巴集团控股有限公司 | 基于二进制日志复制的区块链数据关系结构方案 |
CN112235342A (zh) * | 2020-09-03 | 2021-01-15 | 苏宁云计算有限公司 | 异常运行环境的修复方法、装置、计算机设备和存储介质 |
CN114338533A (zh) * | 2021-12-30 | 2022-04-12 | 广东明创软件科技有限公司 | 一种调整方法、电子设备及计算机存储介质 |
CN114338533B (zh) * | 2021-12-30 | 2024-05-28 | 广东明创软件科技有限公司 | 一种调整方法、电子设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105335201B (zh) | 2019-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105335201A (zh) | 一种应用软件更新方法和装置 | |
CN102622241B (zh) | 一种软件升级方法及装置 | |
CN105279005A (zh) | 一种应用软件更新方法和装置 | |
CN106502725A (zh) | 应用程序的升级方法、设备及电子设备 | |
CN103227812B (zh) | 智能设备中支持断点续传的下载方法和装置 | |
CN103309683B (zh) | 硬件设备的软件补丁嵌入方法及装置 | |
CN106648787A (zh) | 一种资源更新的方法及终端 | |
CN109491695A (zh) | 一种集成安卓应用的增量更新方法 | |
CN105335183A (zh) | 一种软件升级方法及系统 | |
CN102541596A (zh) | 一种操作系统升级方法及装置 | |
WO2009032232A1 (en) | Bootstrapper and software download manager | |
US9063819B2 (en) | Extensible patch management | |
EP1654670A1 (en) | Servicing a component-base software product | |
CN105867973A (zh) | 应用程序中so文件的加载方法及系统 | |
CN107391104A (zh) | 一种客户端与react native代码的更新依赖管理方法、装置及系统 | |
CN103019708A (zh) | 用于发布软件的方法和系统 | |
CN103064666A (zh) | 一种多渠道软件发布方法和系统 | |
CN105468395A (zh) | 更新方法、装置及系统 | |
US10896109B2 (en) | Non-monotonic eventual convergence for desired state configuration | |
CN103793248A (zh) | 一种应用程序升级的方法及装置 | |
CN106648724A (zh) | 应用程序的热修复方法及终端 | |
CN109032617B (zh) | 一种自动删除安装包的控制方法及控制装置 | |
US8769521B2 (en) | Calendar aware adaptive patching of a computer program | |
CN105320551A (zh) | 一种应用软件更新方法和装置 | |
CN106874195A (zh) | 一种针对android应用的bug修复和持续交付方案 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |