CN114090055A - 应用程序更新方法、装置、终端及存储介质 - Google Patents
应用程序更新方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN114090055A CN114090055A CN202111338026.3A CN202111338026A CN114090055A CN 114090055 A CN114090055 A CN 114090055A CN 202111338026 A CN202111338026 A CN 202111338026A CN 114090055 A CN114090055 A CN 114090055A
- Authority
- CN
- China
- Prior art keywords
- application program
- version
- android
- android application
- updating
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000009434 installation Methods 0.000 claims abstract description 142
- 230000004044 response Effects 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种应用程序更新方法、装置、终端及存储介质,其中的方法包括:从服务端下载Android应用程序的当前安装版本对应的差分包,所述差分包包括所述Android应用程序的新版本与所述当前安装版本的差异信息;通过目标操作系统,利用所述差分包,对Android系统中所述Android应用程序的安装目录进行更新操作,以使所述当前安装版本更新为所述新版本;其中,所述目标操作系统不同于所述Android系统且具有对所述Android应用程序的安装目录的操作权限。如此,实现了Android应用程序的快速版本更新并节约了资源,提高了用户体验。
Description
技术领域
本发明涉及应用程序更新技术领域,尤其涉及一种应用程序更新方法、装置、终端及存储介质。
背景技术
Android系统是一种基于Linux内核的自由及开放源代码的操作系统,能够应用于智能手机和平板电脑等终端,支持Android应用程序的运行,以提供各种服务功能来满足人们生活和工作的需求。
现有技术中,当Android应用程序需要更新时,需要下载完整的安装包并通过Android系统的包管理服务(PackageManagerService,PMS)完成更新,该更新方式中,即使安装包只有较小的改动,也需要下载完整的安装包,不仅版本更新效率低且容易造成资源浪费。
发明内容
本发明提供一种应用程序更新方法、装置、终端及存储介质,用以解决现有技术中Android应用程序版本更新效率低且容易造成资源浪费的缺陷,实现了Android应用程序的版本快速更新并节约了资源,提高了用户体验。
第一方面,本发明实施例提供一种应用程序更新方法,包括:
从服务端下载Android应用程序的当前安装版本对应的差分包,所述差分包包括所述Android应用程序的新版本与所述当前安装版本的差异信息;
通过目标操作系统,利用所述差分包,对Android系统中所述Android应用程序的安装目录进行更新操作,以使所述当前安装版本更新为所述新版本;其中,所述目标操作系统不同于所述Android系统且具有对所述Android应用程序的安装目录的操作权限。
可选的,在所述通过目标操作系统,利用所述差分包,对Android系统中所述Android应用程序的安装目录进行更新操作之后,还包括:
通知所述Android系统的包管理服务将所管理的所述当前安装版本的信息更新为所述新版本的信息。
可选的,所述从服务端下载Android应用程序的当前安装版本对应的差分包,包括:
响应于来自所述Android应用程序的版本更新指令,从所述服务端下载所述差分包;其中,所述版本更新指令是所述Android应用程序在启动时检测到有版本更新后发出的;
或者,从所述服务端获取所述Android应用程序的最新版本的版本号,对比所述最新版本的版本号与所述当前安装版本的版本号是否相同,响应于所述对比的结果为不相同,从所述服务端下载所述差分包。
可选的,所述通过目标操作系统,利用所述差分包,对Android系统中所述Android应用程序的安装目录进行更新操作,包括:
响应于确定所述差分包下载完整和/或通过安全校验,通过所述目标操作系统,利用所述差分包,对所述Android系统中所述Android应用程序的安装目录进行更新操作。
可选的,在所述从服务端下载Android应用程序的当前安装版本对应的差分包之后,所述通过目标操作系统,利用所述差分包,对Android系统中所述Android应用程序的安装目录进行更新操作之前,还包括:
确定所述差分包的大小是否为预设大小,响应于所述差分包的大小为所述预设大小,确定所述差分包下载完整;
和/或,基于所述差分包生成校验码,确定所述生成的校验码是否为预设校验码,响应于所述生成的校验码为所述预设校验码,确定所述差分包通过安全校验。
可选的,所述利用所述差分包,对Android系统中所述Android应用程序的安装目录进行更新操作,包括:
从所述差分包中解析出所述差异信息;
响应于所述差异信息包括新增文件及对应的路径信息,按照所述新增文件对应的路径信息,将所述新增文件增加到所述Android应用程序的安装目录中;
响应于所述差异信息包括替换文件及对应的路径信息,根据所述替换文件对应的路径信息,查找到所述Android应用程序的安装目录中的原有文件,利用所述替换文件替换所述原有文件;
响应于所述差异信息包括待删除文件对应的路径信息,根据所述待删除文件对应的路径信息,查找到所述Android应用程序的安装目录中的所述待删除文件并删除。
可选的,所述目标操作系统为Linux系统。
第二方面,本发明实施例提供一种应用程序更新装置,包括:
差分包下载模块,用于从服务端下载Android应用程序的当前安装版本对应的差分包,所述差分包包括所述Android应用程序的新版本与所述当前安装版本的差异信息;
版本更新模块,用于通过目标操作系统,利用所述差分包,对Android系统中所述Android应用程序的安装目录进行更新操作,以使所述当前安装版本更新为所述新版本;其中,所述目标操作系统不同于所述Android系统且具有对所述Android应用程序的安装目录的操作权限。
第三方面,本发明实施例提供一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面所提供的应用程序更新方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面所提供的应用程序更新方法的步骤。
本发明实施例提供的一种应用程序更新方法,一方面,从服务端下载Android应用程序的当前安装版本对应的差分包,由于该差分包包括Android应用程序的新版本与当前安装版本的差异信息,与完整的安装包相比,体积较小,不仅提高了下载速度,进而提高版本更新效率,而且节约了下载资源。另一方面,由于通过不同于Android系统的且具有对Android应用程序的安装目录的操作权限的目标操作系统,利用差分包,直接对Android系统中Android应用程序的安装目录进行简单的更新操作,可以快速从当前安装版本更新至新版本,从而实现了快速地差异更新,即只更新Android应用程序变动的部分,节约了安装资源,方便灵活,从而提高了Android应用程序的版本更新效率。如此,实现了Android应用程序的版本快速更新并节约了资源,提高了用户体验。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的应用程序更新方法的流程示意图之一;
图2是本发明实施例提供的应用程序更新方法的流程示意图之二;
图3是本发明实施例提供的应用程序更新装置的结构示意图;
图4是本发明提供的终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的应用程序更新方法的流程示意图。如图1所示,该方法可以由手机等终端或者其中的软件和/或硬件的组合执行,该方法包括:
步骤110,从服务端下载Android应用程序的当前安装版本对应的差分包,该差分包包括Android应用程序的新版本与当前安装版本的差异信息。
实际应用中,如果Android应用程序上线之后存在问题,或者Android应用程序的原有功能需要优化,或者对Android应用程序增加新的功能,都可以更新Android应用程序的版本。Android应用程序的新版本开发完成之后,可以对比Android应用程序的新版本与旧版本的差异,得到差异信息,然后,将该差异信息打包,得到差分包,将差分包发布到服务端,以供终端在需要进行Android应用程序的版本更新时进行下载。由于下载的差分包并非包括Android应用程序的新版本的全部信息,而是仅包括差异信息,体积大大减小,利于提高下载速度,节约下载资源。
步骤120,通过目标操作系统,利用差分包,对Android系统中Android应用程序的安装目录进行更新操作,以使当前安装版本更新为新版本;其中,目标操作系统不同于Android系统且具有对Android应用程序的安装目录的操作权限。
其中的Android系统安装于终端。相应的,目标操作系统与Android系统安装于同一终端中。
目前,Android系统不支持Android应用程序的安装目录操作。基于此,传统的Android应用程序的更新方式是,通过Android系统的PMS完成更新。PMS更新时,需要对完整的安装包进行解析,利用解析出的信息完成Android应用程序的安装,解析出的信息还可以供其它服务使用。现有技术中,即使下载差分包,也要将该差分包与已安装版本进行合并,得到完整的安装包,再通过PMS完成更新。
而本步骤中,通过不同于Android系统的且具有对Android应用程序的安装目录的操作权限的目标操作系统,利用差分包,直接对Android系统中Android应用程序的安装目录进行简单的更新操作,就可以快速从当前安装版本更新至新版本,从而实现了差异更新,即只更新Android应用程序变动的部分,节约了安装资源,方便灵活,更新效率更高。
本实施例中,一方面,从服务端下载Android应用程序的当前安装版本对应的差分包,由于该差分包包括Android应用程序的新版本与当前安装版本的差异信息,与完整的安装包相比,体积较小,不仅提高了下载速度,进而提高版本更新效率,而且节约了下载资源。另一方面,由于通过不同于Android系统的且具有对Android应用程序的安装目录的操作权限的目标操作系统,利用差分包,直接对Android系统中Android应用程序的安装目录进行简单的更新操作,可以快速从当前安装版本更新至新版本,从而实现了快速地差异更新,即只更新Android应用程序变动的部分,节约了安装资源,方便灵活,从而提高了Android应用程序的版本更新效率。如此,实现了Android应用程序的版本快速更新并节约了资源,提高了用户体验。
如果Android应用程序出现线上问题,可以通过快速的版本更新,快速解决线上问题。
实际应用中,可以将本发明实施例提供的应用程序更新方法的逻辑代码封装成应用程序更新服务,并设置于目标操作系统中,由目标操作系统执行该应用程序更新服务。
由于Android系统是基于Linux内核的操作系统,Android系统可以运行于Linux系统上,此时,Linux系统是具有对Android系统中的Android应用程序的安装目录的操作权限的,因此,上述目标操作系统可以为Linux系统。通过Linux系统对Android应用程序的安装目录的更新操作,方案实现更加简单。
基于以上任一实施例,在通过目标操作系统,利用差分包,对Android系统中Android应用程序的安装目录进行更新操作之后,上述应用程序更新方法还可以包括:通知Android系统的包管理服务将所管理的当前安装版本的信息更新为新版本的信息。
由于通过目标操作系统对Android系统中Android应用程序的安装目录进行更新操作,实现Android应用程序的版本更新,相当于避开了Android系统的PMS,此时,为了保证PMS对Android应用程序的准确管理,可以通过目标操作系统通知Android系统的包管理服务将所管理的当前安装版本的信息更新为新版本的信息,以将Android应用程序的更新结果同步到Android系统中,例如将所管理的当前安装版本的版本号更新为新版本的版本号。
基于以上任一实施例,从服务端下载Android应用程序的当前安装版本对应的差分包,其具体实现方式可以包括:响应于来自Android应用程序的版本更新指令,从服务端下载差分包;其中,版本更新指令是Android应用程序在启动时检测到有版本更新后发出的。
实际应用中,Android应用程序在启动时,可以检测是否有版本更新。Android应用程序在启动时检测到有版本更新后,可以发出版本更新指令,通过目标操作系统检测到来自Android应用程序的版本更新指令之后,可以响应于来自Android应用程序的版本更新指令,从服务端下载差分包,随后,利用该差分包对Android系统中Android应用程序的安装目录进行更新操作,以使当前安装版本更新为新版本。如此,通过Android应用程序在启动时检测到有版本更新后自动触发Android应用程序的更新,实现了静默更新,用户对更新无感知,从而进一步提高了用户体验。
基于以上任一实施例,从服务端下载Android应用程序的当前安装版本对应的差分包,其具体实现方式可以包括:从服务端获取Android应用程序的最新版本的版本号,对比最新版本的版本号与当前安装版本的版本号是否相同,响应于对比的结果为不相同,从服务端下载差分包。
实际应用中,可以从服务端获取Android应用程序的最新版本的版本号,如果最新版本的版本号与当前安装版本的版本号相同,认为Android应用程序没有版本更新,如果最新版本的版本号与当前安装版本的版本号不相同,认为Android应用程序有版本更新,此时,可以从服务端下载差分包,随后,利用该差分包对Android系统中Android应用程序的安装目录进行更新操作,以使当前安装版本更新为新版本。
实施中,可以在终端的预设空闲时刻,从服务端获取Android应用程序的最新版本的版本号,对比最新版本的版本号与当前安装版本的版本号是否相同,响应于对比的结果为不相同,从服务端下载差分包。示例性的,该预设空闲时刻可以为凌晨的预设时刻,示例性的,为0点到5点中的预设时刻。
本实施例中,通过主动对比服务端的最新版本的版本号与当前安装版本的版本号,在对比的结果为不相同时自动触发Android应用程序的更新,实现了静默更新,用户对更新无感知,从而进一步提高了用户体验。
基于以上任一实施例,通过目标操作系统,利用差分包,对Android系统中Android应用程序的安装目录进行更新操作,其具体实现方式可以包括:响应于确定差分包下载完整和/或通过安全校验,通过目标操作系统,利用差分包,对Android系统中Android应用程序的安装目录进行更新操作。
实际应用中,如果差分包下载不完整,则无法完成更新,本实施例中,可以在确定差分包下载完整之后,再进行后续的更新操作,提高了处理效率。还可以在确定差分包通过安全校验后,再进行后续的更新操作,提高了更新的安全性。
响应于确定差分包下载不完整和/或未通过安全校验,可以发出更新失败的提示信息,此时,还可以继续重新从服务端下载Android应用程序的当前安装版本对应的差分包,以重新进行版本更新。
基于以上任一实施例,在从服务端下载Android应用程序的当前安装版本对应的差分包之后,通过目标操作系统,利用差分包,对Android系统中Android应用程序的安装目录进行更新操作之前,上述应用程序更新方法还可以包括:确定差分包的大小是否为预设大小,响应于差分包的大小为预设大小,确定差分包下载完整。
其中的预设大小是完整的差分包的大小。实际应用中,可以从服务端获取到差分包的预设大小。如果下载的差分包的大小是该预设大小,认为差分包下载完整了。这种确定差分包下载完整的方式实现简单。
当然也可以采用其它的下载完整的确定方式,例如可以从服务端获取标识差分包中所有文件的预设文件列表,确定差分包中是否包含预设文件列表中所标识的所有文件,如果是,则确定差分包下载完整。
基于以上任一实施例,在从服务端下载Android应用程序的当前安装版本对应的差分包之后,通过目标操作系统,利用差分包,对Android系统中Android应用程序的安装目录进行更新操作之前,上述应用程序更新方法还可以包括:基于差分包生成校验码,确定生成的校验码是否为预设校验码,响应于生成的校验码为预设校验码,确定差分包通过安全校验。
其中的校验码可以但不限于为信息-摘要算法5(Message-Digest Algorithm 5,MD5)值。
实际应用中,预设校验码是服务端基于差分包生成的校验码。终端可以从服务端获取到差分包的预设校验码。如果下载的差分包的信息没有被篡改,那么,在终端生成的校验码与预设校验码是相同的,此时,认为差分包是安全的。如此,通过校验码对差分包进行安全校验,不仅安全而且实现方式简单。当然也可以采用其它的安全校验方式,此处不再一一列举。
基于以上任一实施例,上述差异信息可以包括:新增文件及对应的路径信息,和/或,替换文件及对应的路径信息,和/或,待删除文件对应的路径信息。实际应用中,如果Android应用程序的新版本与当前安装版本相比,有新增文件,则可以将新增文件及对应的路径信息添加在差异信息中。如果Android应用程序的新版本与当前安装版本相比,有替换文件,则可以将替换文件及对应的路径信息添加在差异信息中。如果Android应用程序的新版本与当前安装版本相比,有待删除文件,则直接将待删除文件对应的路径信息添加在差异信息中即可。
相应的,利用差分包,对Android系统中Android应用程序的安装目录进行更新操作,如图2所示,其具体实现方式可以包括:
步骤210,从差分包中解析出差异信息。
步骤220、响应于差异信息包括新增文件及对应的路径信息,按照新增文件对应的路径信息,将新增文件增加到Android应用程序的安装目录中。
步骤230、响应于差异信息包括替换文件及对应的路径信息,根据替换文件对应的路径信息,查找到Android应用程序的安装目录中的原有文件,利用替换文件替换原有文件。
步骤240、响应于差异信息包括待删除文件对应的路径信息,根据待删除文件对应的路径信息,查找到Android应用程序的安装目录中的待删除文件并删除。
本实施例中,可以从差分包中解析出差异信息,然后利用差异信息,对Android应用程序的安装目录进行增加、替换、删除这些简单的操作,即可实现版本更新,版本更新效率更高。
基于以上任一实施例,在利用差分包,对Android系统中Android应用程序的安装目录进行更新操作之后,上述应用程序更新方法还可以包括:检测更新后的Android应用程序的安装目录是否完整。如果Android应用程序的安装目录不完整,可以发出更新失败的提示信息,此时,还可以继续重新从服务端下载Android应用程序的当前安装版本对应的差分包,以重新进行版本更新。如此,保证了更新后的Android应用程序的安装目录的完整性。
示例性的,检测更新后的Android应用程序的安装目录是否完整,可以包括:检测更新后的Android应用程序的安装目录的目录结构是否为Android系统所规定的目录结构,如果是,确定更新后的Android应用程序的安装目录完整,否则,确定更新后的Android应用程序的安装目录不完整。本实施例中,通过目录结构可以准确地检测出更新后的Android应用程序的安装目录的完整性。
下面对本发明提供的应用程序更新装置进行描述,下文描述的应用程序更新装置与上文描述的应用程序更新方法可相互对应参照。
基于上述任一实施例,图3为本发明实施例提供的应用程序更新装置的结构示意图,如图3所示,该装置包括差分包下载模块310和版本更新模块320;
其中,差分包下载模块310,用于从服务端下载Android应用程序的当前安装版本对应的差分包,差分包包括Android应用程序的新版本与当前安装版本的差异信息;
版本更新模块320,用于通过目标操作系统,利用差分包,对Android系统中Android应用程序的安装目录进行更新操作,以使当前安装版本更新为新版本;其中,目标操作系统不同于Android系统且具有对Android应用程序的安装目录的操作权限。
基于上述任一实施例,版本更新模块,还用于:
在通过目标操作系统,利用差分包,对Android系统中Android应用程序的安装目录进行更新操作之后,通知Android系统的包管理服务将所管理的当前安装版本的信息更新为新版本的信息。
基于上述任一实施例,差分包下载模块,具体用于:
响应于来自Android应用程序的版本更新指令,从服务端下载差分包;其中,版本更新指令是Android应用程序在启动时检测到有版本更新后发出的;
或者,从服务端获取Android应用程序的最新版本的版本号,对比最新版本的版本号与当前安装版本的版本号是否相同,响应于对比的结果为不相同,从服务端下载差分包。
基于上述任一实施例,版本更新模块,具体用于:
响应于确定差分包下载完整和/或通过安全校验,通过目标操作系统,利用差分包,对Android系统中Android应用程序的安装目录进行更新操作。
基于上述任一实施例,上述应用程序更新模块还可以包括:
完整确定模块,用于在从服务端下载Android应用程序的当前安装版本对应的差分包之后,通过目标操作系统,利用差分包,对Android系统中Android应用程序的安装目录进行更新操作之前,确定差分包的大小是否为预设大小,响应于差分包的大小为预设大小,确定差分包下载完整;
和/或,安全校验模块,用于在从服务端下载Android应用程序的当前安装版本对应的差分包之后,通过目标操作系统,利用差分包,对Android系统中Android应用程序的安装目录进行更新操作之前,基于差分包生成校验码,确定生成的校验码是否为预设校验码,响应于生成的校验码为预设校验码,确定差分包通过安全校验。
基于上述任一实施例,版本更新模块,具体用于:
从差分包中解析出差异信息;
响应于差异信息包括新增文件及对应的路径信息,按照新增文件对应的路径信息,将新增文件增加到Android应用程序的安装目录中;
响应于差异信息包括替换文件及对应的路径信息,根据替换文件对应的路径信息,查找到Android应用程序的安装目录中的原有文件,利用替换文件替换原有文件;
响应于差异信息包括待删除文件对应的路径信息,根据待删除文件对应的路径信息,查找到Android应用程序的安装目录中的待删除文件并删除。
基于上述任一实施例,目标操作系统为Linux系统。
图4示例了一种终端的实体结构示意图,如图4所示,该终端可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行应用程序更新方法,该方法包括:从服务端下载Android应用程序的当前安装版本对应的差分包,差分包包括Android应用程序的新版本与当前安装版本的差异信息;通过目标操作系统,利用差分包,对Android系统中Android应用程序的安装目录进行更新操作,以使当前安装版本更新为新版本;其中,目标操作系统不同于Android系统且具有对Android应用程序的安装目录的操作权限。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各方法所提供的应用程序更新方法,该方法包括:从服务端下载Android应用程序的当前安装版本对应的差分包,差分包包括Android应用程序的新版本与当前安装版本的差异信息;通过目标操作系统,利用差分包,对Android系统中Android应用程序的安装目录进行更新操作,以使当前安装版本更新为新版本;其中,目标操作系统不同于Android系统且具有对Android应用程序的安装目录的操作权限。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的应用程序更新方法,该方法包括:从服务端下载Android应用程序的当前安装版本对应的差分包,差分包包括Android应用程序的新版本与当前安装版本的差异信息;通过目标操作系统,利用差分包,对Android系统中Android应用程序的安装目录进行更新操作,以使当前安装版本更新为新版本;其中,目标操作系统不同于Android系统且具有对Android应用程序的安装目录的操作权限。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种应用程序更新方法,其特征在于,包括:
从服务端下载Android应用程序的当前安装版本对应的差分包,所述差分包包括所述Android应用程序的新版本与所述当前安装版本的差异信息;
通过目标操作系统,利用所述差分包,对Android系统中所述Android应用程序的安装目录进行更新操作,以使所述当前安装版本更新为所述新版本;其中,所述目标操作系统不同于所述Android系统且具有对所述Android应用程序的安装目录的操作权限。
2.根据权利要求1所述的应用程序更新方法,其特征在于,在所述通过目标操作系统,利用所述差分包,对Android系统中所述Android应用程序的安装目录进行更新操作之后,还包括:
通知所述Android系统的包管理服务将所管理的所述当前安装版本的信息更新为所述新版本的信息。
3.根据权利要求1所述的应用程序更新方法,其特征在于,所述从服务端下载Android应用程序的当前安装版本对应的差分包,包括:
响应于来自所述Android应用程序的版本更新指令,从所述服务端下载所述差分包;其中,所述版本更新指令是所述Android应用程序在启动时检测到有版本更新后发出的;
或者,从所述服务端获取所述Android应用程序的最新版本的版本号,对比所述最新版本的版本号与所述当前安装版本的版本号是否相同,响应于所述对比的结果为不相同,从所述服务端下载所述差分包。
4.根据权利要求1所述的应用程序更新方法,其特征在于,所述通过目标操作系统,利用所述差分包,对Android系统中所述Android应用程序的安装目录进行更新操作,包括:
响应于确定所述差分包下载完整和/或通过安全校验,通过所述目标操作系统,利用所述差分包,对所述Android系统中所述Android应用程序的安装目录进行更新操作。
5.根据权利要求4所述的应用程序更新方法,其特征在于,在所述从服务端下载Android应用程序的当前安装版本对应的差分包之后,所述通过目标操作系统,利用所述差分包,对Android系统中所述Android应用程序的安装目录进行更新操作之前,还包括:
确定所述差分包的大小是否为预设大小,响应于所述差分包的大小为所述预设大小,确定所述差分包下载完整;
和/或,基于所述差分包生成校验码,确定所述生成的校验码是否为预设校验码,响应于所述生成的校验码为所述预设校验码,确定所述差分包通过安全校验。
6.根据权利要求1所述的应用程序更新方法,其特征在于,所述利用所述差分包,对Android系统中所述Android应用程序的安装目录进行更新操作,包括:
从所述差分包中解析出所述差异信息;
响应于所述差异信息包括新增文件及对应的路径信息,按照所述新增文件对应的路径信息,将所述新增文件增加到所述Android应用程序的安装目录中;
响应于所述差异信息包括替换文件及对应的路径信息,根据所述替换文件对应的路径信息,查找到所述Android应用程序的安装目录中的原有文件,利用所述替换文件替换所述原有文件;
响应于所述差异信息包括待删除文件对应的路径信息,根据所述待删除文件对应的路径信息,查找到所述Android应用程序的安装目录中的所述待删除文件并删除。
7.根据权利要求1至6任一项所述的应用程序更新方法,其特征在于,所述目标操作系统为Linux系统。
8.一种应用程序更新装置,其特征在于,包括:
差分包下载模块,用于从服务端下载Android应用程序的当前安装版本对应的差分包,所述差分包包括所述Android应用程序的新版本与所述当前安装版本的差异信息;
版本更新模块,用于通过目标操作系统,利用所述差分包,对Android系统中所述Android应用程序的安装目录进行更新操作,以使所述当前安装版本更新为所述新版本;其中,所述目标操作系统不同于所述Android系统且具有对所述Android应用程序的安装目录的操作权限。
9.一种终端,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述应用程序更新方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述应用程序更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111338026.3A CN114090055A (zh) | 2021-11-10 | 2021-11-10 | 应用程序更新方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111338026.3A CN114090055A (zh) | 2021-11-10 | 2021-11-10 | 应用程序更新方法、装置、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114090055A true CN114090055A (zh) | 2022-02-25 |
Family
ID=80300275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111338026.3A Pending CN114090055A (zh) | 2021-11-10 | 2021-11-10 | 应用程序更新方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114090055A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117241259A (zh) * | 2023-11-15 | 2023-12-15 | 长沙时代跳动科技有限公司 | 基于移动互联网的app服务管理平台及其数据处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981835A (zh) * | 2012-11-02 | 2013-03-20 | 福州博远无线网络科技有限公司 | 安卓应用程序永久获取Root权限的方法 |
WO2013078951A1 (zh) * | 2011-12-01 | 2013-06-06 | 腾讯科技(深圳)有限公司 | 软件升级方法和系统 |
WO2013185570A1 (zh) * | 2012-06-13 | 2013-12-19 | 腾讯科技(深圳)有限公司 | 软件更新方法、软件更新系统及计算机存储介质 |
CN111381858A (zh) * | 2018-12-29 | 2020-07-07 | 深圳Tcl新技术有限公司 | 一种应用程序升级方法、服务器及终端设备 |
CN113326058A (zh) * | 2021-07-01 | 2021-08-31 | 苏州好玩友网络科技有限公司 | 一种应用的版本更新方法、装置、设备及介质 |
-
2021
- 2021-11-10 CN CN202111338026.3A patent/CN114090055A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013078951A1 (zh) * | 2011-12-01 | 2013-06-06 | 腾讯科技(深圳)有限公司 | 软件升级方法和系统 |
WO2013185570A1 (zh) * | 2012-06-13 | 2013-12-19 | 腾讯科技(深圳)有限公司 | 软件更新方法、软件更新系统及计算机存储介质 |
CN102981835A (zh) * | 2012-11-02 | 2013-03-20 | 福州博远无线网络科技有限公司 | 安卓应用程序永久获取Root权限的方法 |
CN111381858A (zh) * | 2018-12-29 | 2020-07-07 | 深圳Tcl新技术有限公司 | 一种应用程序升级方法、服务器及终端设备 |
CN113326058A (zh) * | 2021-07-01 | 2021-08-31 | 苏州好玩友网络科技有限公司 | 一种应用的版本更新方法、装置、设备及介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117241259A (zh) * | 2023-11-15 | 2023-12-15 | 长沙时代跳动科技有限公司 | 基于移动互联网的app服务管理平台及其数据处理方法 |
CN117241259B (zh) * | 2023-11-15 | 2024-01-19 | 长沙时代跳动科技有限公司 | 基于移动互联网的app服务管理平台及其数据处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107748668B (zh) | 一种应用程序升级的方法及装置 | |
CN106569859B (zh) | 一种目标文件的加载方法及装置 | |
US9244758B2 (en) | Systems and methods for repairing system files with remotely determined repair strategy | |
CN109491698B (zh) | 基于热补丁的系统更新方法及装置 | |
CN109918285B (zh) | 一种开源软件的安全识别方法及装置 | |
CN110278192B (zh) | 外网访问内网的方法、装置、计算机设备及可读存储介质 | |
CN107645546B (zh) | 基于安卓系统的文件监听方法、智能设备及存储介质 | |
CN107835228B (zh) | 一种基于动态广义路由的指令处理方法及装置 | |
CN109361542B (zh) | 客户端的故障处理方法、装置、系统、终端和服务器 | |
CN108280347A (zh) | 一种病毒扫描的方法及装置 | |
CN104765624B (zh) | 虚拟机应用程序的更新处理方法和装置 | |
CN115543429A (zh) | 项目环境的搭建方法、电子设备及计算机可读存储介质 | |
CN114090055A (zh) | 应用程序更新方法、装置、终端及存储介质 | |
CN114968776A (zh) | 一种应用程序的检测方法和装置 | |
CN106293790B (zh) | 基于Firefox操作系统的应用程序升级方法和装置 | |
CN111158654A (zh) | 算法调用方法、装置、服务器及存储介质 | |
CN110597662A (zh) | 备份数据自动验证方法、装置、用户设备及存储介质 | |
CN111158716B (zh) | 版本升级调用方法、装置、计算机系统及可读存储介质 | |
CN106295371B (zh) | 应用运行方法、文件加固方法和装置 | |
CN105787359A (zh) | 进程守护方法和装置 | |
CN112685063B (zh) | 特征库更新方法、装置、网络设备及可读存储介质 | |
CN109783156B (zh) | 一种应用的启动控制方法及装置 | |
CN113961221A (zh) | 一种基于注册中心的服务管理方法 | |
CN113609478A (zh) | 一种ios平台应用程序篡改检测方法及装置 | |
CN110825406A (zh) | 一种软件升级的方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220402 Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing. Applicant after: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd. Address before: 2005, floor 2, No. 39, West Street, Haidian District, Beijing 100082 Applicant before: Beijing jingling Information System Technology Co.,Ltd. |