CN113535194A - 安装包的更新方法、装置、计算机设备及存储介质 - Google Patents
安装包的更新方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113535194A CN113535194A CN202110842877.5A CN202110842877A CN113535194A CN 113535194 A CN113535194 A CN 113535194A CN 202110842877 A CN202110842877 A CN 202110842877A CN 113535194 A CN113535194 A CN 113535194A
- Authority
- CN
- China
- Prior art keywords
- plug
- host
- program
- information
- target
- 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
- 238000009434 installation Methods 0.000 title claims abstract description 111
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012360 testing method Methods 0.000 claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 32
- 238000004806 packaging method and process Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 abstract description 9
- 238000001514 detection method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 2
- 206010002449 angioimmunoblastic T-cell lymphoma Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013461 design Methods 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
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 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/61—Installation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种安装包的更新方法、装置、计算机设备及存储介质。所述方法包括:获取宿主应用的宿主信息及所述宿主应用对应的多个插件的插件信息;根据所述宿主信息以及所述插件信息分别获取所述宿主的宿主程序以及各插件的插件程序;对所述宿主程序以及所述插件程序进行兼容性测试,确认各插件程序中与所述宿主程序不兼容的目标插件;将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到更新后的宿主应用安装包。本方案将目标插件组件化处理,使得目标插件打开宿主程序页面时,不需要通过宿主应用的外部通信接口,所以可以解决插件与宿主应用的兼容性问题。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种安装包的更新方法、装置、计算机设备及存储介质。
背景技术
随着Android***版本的不断迭代,各种应用也在不断更新,为了提高应用功能的多样性,现有应用一般使用插件化以及组件化的混合式开发,即开发出来的应用中内设有组件,也可以调用插件,其中,当应用具有调用某插件的能力时,该应用称为该插件的宿主应用,一般来说,插件与组件之间的页面是可以相互调用的,例如,通过微信应用调用某插件的页面之后,也可以从该插件页面中返回微信应用的页面(即调用宿主应用页面)。
其中,插件在调用宿主应用的页面时,需要通过外部通信接口进行访问,而组件可以直接调用宿主应用的页面,不需要通过外部通信接口。
由于插件是一个独立的个体,宿主应用更新时,插件还停留在旧版本,此时插件与宿主可能存在某些兼容性问题,导致插件不能通过宿主的外部通信接口访问宿主应用的页面,为了使得插件可以顺利访问升级后的宿主应用的页面,插件与宿主应用的兼容性问题还有待解决。
发明内容
本发明实施例提供了一种安装包的更新方法、装置、计算机设备及存储介质,可以解决插件与宿主应用的兼容性问题。
第一方面,本发明实施例提供了一种安装包的更新方法,其包括:
获取宿主应用的宿主信息及所述宿主应用对应的多个插件的插件信息;
根据所述宿主信息以及所述插件信息分别获取所述宿主的宿主程序以及各插件的插件程序;
对所述宿主程序以及所述插件程序进行兼容性测试,确认各插件程序中与所述宿主程序不兼容的目标插件;
将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到更新后的宿主应用安装包。
第二方面,本发明实施例还提供了一种安装包的更新装置,其包括:
第一获取单元,用于获取宿主应用的宿主信息及所述宿主应用对应的多个插件的插件信息;
第二获取单元,用于根据所述宿主信息以及所述插件信息分别获取所述宿主的宿主程序以及各插件的插件程序;
测试单元,用于对所述宿主程序以及所述插件程序进行兼容性测试,确认各插件程序中与所述宿主程序不兼容的目标插件;
处理单元,用于将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到更新后的宿主应用安装包。
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述方法。
本发明实施例提供了一种安装包的更新方法、装置、计算机设备及存储介质。其中,所述方法包括:获取宿主应用的宿主信息及所述宿主应用对应的多个插件的插件信息;根据所述宿主信息以及所述插件信息分别获取所述宿主的宿主程序以及各插件的插件程序;对所述宿主程序以及所述插件程序进行兼容性测试,确认各插件程序中与所述宿主程序不兼容的目标插件;将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到更新后的宿主应用安装包。本方案在进行宿主应用安装包的更新时,将目标插件对应的插件程序加入了宿主程序中,使得目标插件成了宿主应用中的一个组件,在后续使用时,目标插件可以以组件的方式打开打开宿主程序页面,不需要通过宿主应用的外部通信接口,所以可以解决插件与宿主应用的兼容性问题。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的安装包的更新方法的应用场景示意图;
图2为本发明实施例提供的安装包的更新方法的流程示意图;
图3为本发明实施例提供的安装包的更新方法的一子流程示意图;
图4为本发明实施例提供的安装包的更新方法的另一子流程示意图;
图5为本发明实施例提供的安装包的更新方法的另一子流程示意图;
图6为本发明实施例提供的安装包的更新方法的另一子流程示意图;
图7为本发明实施例提供的安装包的更新方法的另一子流程示意图;
图8为本发明实施例提供的安装包的更新装置的示意性框图;
图9为本发明另一实施例提供的安装包的更新装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本发明实施例提供了一种安装包的更新方法、装置、计算机设备及存储介质。
该安装包的更新方法的执行主体可以是本发明实施例提供的安装包的更新装置,或者集成了该安装包的更新装置的计算机设备,其中,该安装包的更新装置可以采用硬件或者软件的方式实现,该计算机设备可以为终端或服务器,该终端可以是智能手机、平板电脑、掌上电脑、或者笔记本电脑等。
请参阅图1,图1为本发明实施例提供的安装包的更新方法的应用场景示意图。该安装包的更新方法应用于图1中的计算机设备10中,在一些实施例中,当用户需要终端20的某个宿主应用时,终端20将发送该宿主应用的更新指令至计算机设备10中,计算机设备10根据该更新指令,获取宿主应用的宿主信息及宿主应用对应的多个插件的插件信息;然后根据宿主信息以及插件信息分别获取宿主的宿主程序以及各插件的插件程序;对宿主程序以及插件程序进行兼容性测试,确认各插件程序中与宿主程序不兼容的目标插件;最后将目标插件对应的插件程序打包至宿主程序中,以对目标插件进行组件化处理,得到更新后的宿主应用安装包,然后计算机10通过服务器或者直接将更新后的宿主应用安装包发送至终端20,更新终端20上对应的宿主应用。
本发明实施例提供了一种安装包的更新方法,该安装包的更新方法的执行主体可以是本发明实施例提供的安装包的更新装置,或者集成了该安装包的更新装置的计算机设备,其中,该安装包的更新装置可以采用硬件或者软件的方式实现,该计算机设备可以为终端或服务器,该终端可以是智能手机、平板电脑、掌上电脑、或者笔记本电脑等。
以下以计算机设备作为执行主体为例,对本实施例中的安装包的更新方法进行详细说明,请参阅图2,图2是本发明实施例提供的安装包的更新方法的流程示意图,该方法包括以下步骤S110-150。
S110、获取宿主应用的宿主信息及宿主应用对应的多个插件的插件信息。
其中,每个宿主应用可以对应多个插件,本实施例中的宿主信息包括宿主应用名称以及宿主应用的宿主下载地址,插件信息包括插件名称以及插件下载地址。
在一些实施例中,请参阅图3,具体地,步骤S110包括:
S111、获取宿主应用的更新指令。
该更新指令用于指示更新某个或某多个宿主应用的安装包,在一些实施例中,宿主应用的更新指令可以根据计算设备中预设的更新周期生成,例如,每7 天对宿主应用进行一次更新检测,此时,当到达更新周期的时间时,自动生成宿主应用的更新指令,使得计算机设备获取宿主应用的更新指令。
在另一些实施例中,宿主应用的更新指令可以由后台开发人员触发,或者,由目标终端发送,其中,该目标终端为需要对宿主应用进行更新的终端,例如,当终端用户想对某宿主应用进行升级,此时,终端用户通过目标终端向计算机设备发送该更新指令。
S112、根据更新指令,从预设的宿主插件信息表中获取宿主应用的宿主信息及宿主应用对应的多个插件的插件信息。
具体地,本实施例中,响应更新指令,从预设的宿主插件信息表中获取宿主应用的宿主信息及宿主应用对应的多个插件的插件信息,其中,该宿主插件信息表实时更新,并存有维护的宿主应用的宿主信息,以及每个所维护的宿主应用所支持的插件信息,或者维护有每个安装有宿主应用的终端所分别对应的宿主应用以及对应宿主应用在对应终端中使用过的插件的插件信息,对于插件信息,前者获取的是宿主应用所支持的所有插件的插件信息,后者获取到的是,在对应终端中使用过的插件,对应于后者的方案,本发明可以针对不同的终端分别进行对应的安装包更新,实现不同终端的安装包个性更新。
需要说明的是,该更新指令中包括需要进行安装包更新的宿主应用的标识,然后计算机设备根据该宿主应用的标识从预设的宿主插件信息表中获取对应的宿主应用的宿主信息及宿主应用对应的多个插件的插件信息。
S120、根据宿主信息以及插件信息分别获取宿主的宿主程序以及各插件的插件程序。
其中,宿主程序可以为宿主应用的安装包。
在一些实施例中,请参阅图4,具体地,步骤S120包括:
S121、根据宿主信息中的宿主下载地址获取宿主程序。
本实施例中,计算机设备可以根据获取到的宿主下载地址从存有宿主程序的服务器中通过下载获取到对应的宿主程序。
S122、根据插件信息中的插件下载地址获取插件程序。
本实施例中,计算机设备可以根据获取到的插件下载地址从存有插件程序的服务器中通过下载获取到对应的插件程序。
S130、对宿主程序以及插件程序进行兼容性测试,确认各插件程序中与宿主程序不兼容的目标插件。
本实施例中,对宿主程序以及插件程序进行兼容性测试,即检验宿主应用是否可以调用插件的页面,以及检验插件是否可以调用宿主应用的页面,例如,从微信中打开插件,打开插件之后,然后再从插件中回到微信页面中。
在一些实施例中,请参阅图5,具体地,步骤S130包括:
S131、通过宿主程序对插件程序进行页面调用测试,得到第一测试结果。
即此时,在计算机设备中模拟宿主应用调用插件的页面,并将模拟的结果作为第一检测结果,其中,第一检测包括兼容结果或者不兼容结果,兼容结果反应宿主应用可以调用插件的页面,不兼容结果反应宿主应用不可以调用插件的页面。
S132、通过插件程序对宿主程序进行页面调用测试,得到第二测试结果。
即此时,在计算机设备中模拟插件调用宿主应用的页面,并将模拟的结果作为第二检测结果,同样,第二检测包括兼容结果或者不兼容结果,兼容结果反应宿主应用可以调用插件的页面,不兼容结果反应宿主应用不可以调用插件的页面。
S133、根据第一测试结果以及第二测试结果确定目标插件。
具体地,如果根据第一测试结果以及第二测试结果均为兼容结果,则此时说明宿主应用与插件是互相兼容的,如果第一测试结果和/或第二测试结果为不兼容结果,则此时说明宿主应用与插件存在不兼容的情况,此时,将不兼容的插件确定为目标插件。
在另一些实施例中,请参阅图6,具体地,步骤S130包括:
B131、获取安装终端发送的宿主程序对插件程序进行页面调用的第一调用结果。
本实施例中的安装终端为安装有该宿主应用的终端,一般有多个终端安装有宿主应用,当在该终端中通过宿主应用调用插件调用失败时,此时终端向计算机设备发送第一调用结果,该第一调用结果反应宿主应用调用插件调用失败。
B132、获取安装终端发送的插件程序对宿主程序进行页面调用的第二调用结果。
当在该安装终端中通过插件调用宿主应用调用失败时,此时终端向计算机设备发送第二调用结果,该第二调用结果反应插件调用宿主应用调用失败。
B133、根据第一调用结果以及第二调用结果确定目标插件。
本实施例中,将第一调用结果与第二调用结果中与宿主应用不兼容的插件确定为目标插件。
在一些实施例中,为了避免部分终端出现不兼容情况误报的情况,此时,如果计算机设备接收到同一插件对应的第一调用结果以及第二调用结果的总次数超过预设结果阈值(例如超过300次),则此时才将该插件确定为目标插件。
S140、将目标插件对应的插件程序打包至宿主程序中,以对目标插件进行组件化处理,得到更新后的宿主应用安装包。
本实施例中,当确定目标插件之后,为了解决目标插件与宿主应用不兼容的情况,此时,在更新宿主应用安装包的时候,将目标插件对应的插件程序打包至宿主程序中,将该目标插件在宿主应用中组件化,具体地,在宿主程序中按照Android Library AAR库方式配置引入插件程序,并在宿主程序中添加依赖,插件程序的代码将编译打包到宿主程序中,得到更新后的宿主应用安装包。
在一些实施例中,请参阅图7,具体地,步骤S140包括:
S141、获取目标插件相对于目标终端的历史使用频率。
目标终端为需要对宿主应用进行安装包更新的终端,获取目标插件相对于目标终端的历史使用频率,即获取目标插件在目标终端中的历史使用频率,该历史使用频率可以为近一个月内的日均使用频率。
S142、当历史使用频率大于预设频率阈值时,将目标插件对应的插件程序打包至宿主程序中,以对目标插件进行组件化处理,得到更新后的宿主应用安装包。
其中,该预设频率阈值可以为0.1,也可以为其他数值,具体此处不做限定。
本实施例中,当历史使用频率大于预设频率阈值时,此时才将目标插件对应的插件程序打包至宿主程序中,历史使用频率大于预设频率阈值,即说明目标终端对应的用户使用该插件的频率比较高,后续可以将该插件固化为宿主应用中的组件,方便用户使用,并且,如果方向使用频率大于预设频率阈值的插件与宿主应用不兼容时,通过本方案可以快速更新应用,实现自动化更新应用,可以快速解决插件与宿主应用不兼容的问题,提高终端用户的体验。
在一些实施例中,将目标插件对应的插件程序打包至宿主程序中,以对目标插件进行组件化处理,得到更新后的宿主应用安装包之后,方法还包括:将更新后的宿主应用安装包发送至服务器中;向目标终端发送应用更新指示信息,使得目标终端从服务器中下载更新后的宿主应用安装包,以对宿主应用进行更新,解决宿主应用于插件的不兼容情况。
在一些应用场景中,当终端用户需要对宿主应用进行升级,或者,当终端用户在使用宿主应用中的插件时,发送插件与宿主应用存在不兼容的情况,此时,用户通过目标终端向计算机设备发送宿主应用的更新指令,通过计算机设备可以快速地对对应的安装包进行更新,无须开发人员参与,实现安装包更新自动化,当安装包更新完毕之后,将该安装包发送至服务器,并通知目标终端从服务器中对更新后的安装包进行下载,以实现对对应的宿主应用的更新,或者直接将更新后的安装包发送至目标终端中,使目标终端对对应的宿主应用进行更新,本方案可以快速解决插件与宿主应用的不兼容问题。
在另一些应用场景中,计算机设备按照预设的更新周期对宿主应用进行更新,并将更新后的宿主应用安装包发送至服务器,当有终端需要对对应的宿主应用进行更新时,终端向服务器发送应用更新请求,然后终端根据该应用更新请求将更新后的宿主应用安装包发送至该终端,使得该终端对宿主应用进行更新,更新后的宿主应用可以解决插件与宿主应用的不兼容问题。
需要说明的是,插件模块是编译出来的Android安装包(AndroidPackage, APK)的方式集成到宿主程序,而组件模块是按Android Library方式集成到宿主程序中的。本实施例中,插件与组件中页面跳转都是使用ARouter框架。
由于插件运行在与宿主程序不同的进程中,当插件打开宿主程序页面需通过Android接口定义语言(Android Interface Definition Language,AIDL)接口进行通信访问。而组件不需要通过AIDL接口进行通信即可打开主程序页面,所以当插件当做组件Library集成到宿主程序时,该插件进行了组件化处理,在与宿主程序进行通信时,不需要通过AIDL接口以及宿主插件的AIDL接口,可以直接使用ARouter默认跳转方式打开宿主程序页面,所以可以解决插件与宿主程序的不兼容问题。
本实施例在更新宿主应用安装包时,使用360Replugin、ARouter构建组件化、插件化混合开发,为了其他插件的应用,在更新后的宿主应用安装包中添加了AIDL接口配置,定义Arouter方法接口,并在宿主程序中通过Replugin注册全局接口回调,接收处理Arouter接口路由参数,并把参数设置到ARouter实现路由跳转页面。
针对与宿主应用兼容的插件,本方案中的计算机设备在插件程序中添加 AIDL接口配置,定义Arouter方法接口参数传递ARouter框架路由跳转参数类 Postcard,当以插件方式运行时调用该AIDL接口方法将Postcard对象传递到宿主程序AIDL接口监听方法。
使用本方案中的安装包的更新方法,使得目标插件程序可以正常使用ARouter默认路由跳转方式开发打开宿主程序页面代码,而不需要使用AILD接口方式开发打开宿主程序页面代码。将目标插件化组件化,代码不需要做任何改动,降低了插件与组件两种方式开发差异对代码的侵入性。
并且,插件化工程转换为组件库工程后插件程序依然可以以独立的模块进行运行调试,而独立模块代码量少,编译速度快,更加开发调试方便。
本实施例中,获取宿主应用的宿主信息及宿主应用对应的多个插件的插件信息;根据宿主信息以及插件信息分别获取宿主的宿主程序以及各插件的插件程序;对宿主程序以及插件程序进行兼容性测试,确认各插件程序中与宿主程序不兼容的目标插件;将目标插件对应的插件程序打包至宿主程序中,以对目标插件进行组件化处理,得到更新后的宿主应用安装包。本方案将目标插件组件化处理,使得目标插件打开宿主程序页面时,不需要通过宿主应用的外部通信接口,所以可以解决插件与宿主应用的兼容性问题。
图8是本发明实施例提供的一种安装包的更新装置的示意性框图。如图8 所示,对应于以上安装包的更新方法,本发明还提供一种安装包的更新装置。该安装包的更新装置包括用于执行上述安装包的更新方法的单元,该装置可以被配置于台式电脑、平板电脑、手提电脑、等终端中。具体地,请参阅图8,该安装包的更新装置包括第一获取单元801、第二获取单元802、测试单元803以及处理单元804。
第一获取单元801,用于获取宿主应用的宿主信息及所述宿主应用对应的多个插件的插件信息;
第二获取单元802,用于根据所述宿主信息以及所述插件信息分别获取所述宿主的宿主程序以及各插件的插件程序;
测试单元803,用于对所述宿主程序以及所述插件程序进行兼容性测试,确认各插件程序中与所述宿主程序不兼容的目标插件;
处理单元804,用于将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到更新后的宿主应用安装包。
在一些实施例中,所述第二获取单元802具体用于:
根据所述宿主信息中的宿主下载地址获取所述宿主程序;
根据所述插件信息中的插件下载地址获取所述插件程序。
在一些实施例中,所述测试单元803具体用于:
通过所述宿主程序对所述插件程序进行页面调用测试,得到第一测试结果;
通过所述插件程序对所述宿主程序进行页面调用测试,得到第二测试结果;
根据所述第一测试结果以及所述第二测试结果确定所述目标插件。
在一些实施例中,所述测试单元803还具体用于:
获取安装终端发送的所述宿主程序对所述插件程序进行页面调用的第一调用结果;
获取所述安装终端发送的所述插件程序对所述宿主程序进行页面调用的第二调用结果;
根据所述第一调用结果以及所述第二调用结果确定所述目标插件。
在一些实施例中,所述第一获取单元801具体用于:
获取宿主应用的更新指令;
根据所述更新指令,从预设的宿主插件信息表中获取所述宿主应用的宿主信息及所述宿主应用对应的多个插件的插件信息。
在一些实施例中,所述处理单元804具体用于:
获取所述目标插件相对于目标终端的历史使用频率,所述目标终端为需要对宿主应用进行更新的终端;
当所述历史使用频率大于预设频率阈值时,将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到所述更新后的宿主应用安装包。
图9是本发明另一实施例提供的一种安装包的更新装置的示意性框图。如图9所示,本实施例的安装包的更新装置是上述实施例的基础上增加了第一发送单元805、以及第二发送单元806。
第一发送单元805,用于将所述更新后的宿主应用安装包发送至服务器中;
第二发送单元806,用于向所述目标终端发送应用更新指示信息,使得目标终端根据所述应用更新指示信息从所述服务器中下载所述更新后的宿主应用安装包,以对所述宿主应用进行更新。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述安装包的更新装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述安装包的更新装置可以实现为一种计算机程序的形式,该计算机程序可以在计算机设备上运行。
该计算机设备可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
该计算机设备包括通过***总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
该非易失性存储介质可存储操作***和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行一种安装包的更新方法。
该处理器用于提供计算和控制能力,以支撑整个计算机设备的运行。
该内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行一种安装包的更新方法。
该网络接口用于与其它设备进行网络通信。
其中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取宿主应用的宿主信息及所述宿主应用对应的多个插件的插件信息;
根据所述宿主信息以及所述插件信息分别获取所述宿主的宿主程序以及各插件的插件程序;
对所述宿主程序以及所述插件程序进行兼容性测试,确认各插件程序中与所述宿主程序不兼容的目标插件;
将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到更新后的宿主应用安装包。
在一实施例中,处理器在实现所述根据所述宿主信息以及所述插件信息分别获取所述宿主的宿主程序以及各插件的插件程序步骤时,具体实现如下步骤:
根据所述宿主信息中的宿主下载地址获取所述宿主程序;
根据所述插件信息中的插件下载地址获取所述插件程序。
在一实施例中,处理器在实现所述对所述宿主程序以及所述插件程序进行兼容性测试,确认各插件程序中与所述宿主程序不兼容的目标插件步骤时,具体实现如下步骤:
通过所述宿主程序对所述插件程序进行页面调用测试,得到第一测试结果;
通过所述插件程序对所述宿主程序进行页面调用测试,得到第二测试结果;
根据所述第一测试结果以及所述第二测试结果确定所述目标插件。
在一实施例中,处理器在实现所述对所述宿主程序以及所述插件程序进行兼容性测试,确认各插件程序中与所述宿主程序不兼容的目标插件步骤时,具体实现如下步骤:
获取安装终端发送的所述宿主程序对所述插件程序进行页面调用的第一调用结果;
获取所述安装终端发送的所述插件程序对所述宿主程序进行页面调用的第二调用结果;
根据所述第一调用结果以及所述第二调用结果确定所述目标插件。
在一实施例中,处理器在实现所述获取宿主应用的宿主信息及所述宿主应用对应的多个插件的插件信息步骤时,具体实现如下步骤:
获取宿主应用的更新指令;
根据所述更新指令,从预设的宿主插件信息表中获取所述宿主应用的宿主信息及所述宿主应用对应的多个插件的插件信息。
在一实施例中,处理器在实现所述将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到更新后的宿主应用安装包步骤时,具体实现如下步骤:
获取所述目标插件相对于目标终端的历史使用频率,所述目标终端为需要对宿主应用进行更新的终端;
当所述历史使用频率大于预设频率阈值时,将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到所述更新后的宿主应用安装包。
在一实施例中,处理器在实现所述将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到更新后的宿主应用安装包步骤之后,还实现如下步骤:
将所述更新后的宿主应用安装包发送至服务器中;
向所述目标终端发送应用更新指示信息,使得目标终端根据所述应用更新指示信息从所述服务器中下载所述更新后的宿主应用安装包,以对所述宿主应用进行更新。
应当理解,在本发明实施例中,处理器可以是中央处理单元(Central ProcessingUnit,CPU),该处理器还可以是其他通用处理器、数字信号处理器 (Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机***中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时使处理器执行如下步骤:
获取宿主应用的宿主信息及所述宿主应用对应的多个插件的插件信息;
根据所述宿主信息以及所述插件信息分别获取所述宿主的宿主程序以及各插件的插件程序;
对所述宿主程序以及所述插件程序进行兼容性测试,确认各插件程序中与所述宿主程序不兼容的目标插件;
将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到更新后的宿主应用安装包。
在一实施例中,所述处理器在执行所述程序指令而实现所述根据所述宿主信息以及所述插件信息分别获取所述宿主的宿主程序以及各插件的插件程序步骤时,具体实现如下步骤:
根据所述宿主信息中的宿主下载地址获取所述宿主程序;
根据所述插件信息中的插件下载地址获取所述插件程序。
在一实施例中,所述处理器在执行所述程序指令而实现所述对所述宿主程序以及所述插件程序进行兼容性测试,确认各插件程序中与所述宿主程序不兼容的目标插件步骤时,具体实现如下步骤:
通过所述宿主程序对所述插件程序进行页面调用测试,得到第一测试结果;
通过所述插件程序对所述宿主程序进行页面调用测试,得到第二测试结果;
根据所述第一测试结果以及所述第二测试结果确定所述目标插件。
在一实施例中,所述处理器在执行所述程序指令而实现所述对所述宿主程序以及所述插件程序进行兼容性测试,确认各插件程序中与所述宿主程序不兼容的目标插件步骤时,具体实现如下步骤:
获取安装终端发送的所述宿主程序对所述插件程序进行页面调用的第一调用结果;
获取所述安装终端发送的所述插件程序对所述宿主程序进行页面调用的第二调用结果;
根据所述第一调用结果以及所述第二调用结果确定所述目标插件。
在一实施例中,所述处理器在执行所述程序指令而实现所述获取宿主应用的宿主信息及所述宿主应用对应的多个插件的插件信息步骤时,具体实现如下步骤:
获取宿主应用的更新指令;
根据所述更新指令,从预设的宿主插件信息表中获取所述宿主应用的宿主信息及所述宿主应用对应的多个插件的插件信息。
在一实施例中,所述处理器在执行所述程序指令而实现所述将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到更新后的宿主应用安装包步骤时,具体实现如下步骤:
获取所述目标插件相对于目标终端的历史使用频率,所述目标终端为需要对宿主应用进行更新的终端;
当所述历史使用频率大于预设频率阈值时,将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到所述更新后的宿主应用安装包。
在一实施例中,所述处理器在执行所述程序指令而实现所述将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到更新后的宿主应用安装包步骤之后,还实现如下步骤:
将所述更新后的宿主应用安装包发送至服务器中;
向所述目标终端发送应用更新指示信息,使得目标终端根据所述应用更新指示信息从所述服务器中下载所述更新后的宿主应用安装包,以对所述宿主应用进行更新。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory, ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等) 执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种安装包的更新方法,其特征在于,包括:
获取宿主应用的宿主信息及所述宿主应用对应的多个插件的插件信息;
根据所述宿主信息以及所述插件信息分别获取所述宿主的宿主程序以及各插件的插件程序;
对所述宿主程序以及所述插件程序进行兼容性测试,确认各插件程序中与所述宿主程序不兼容的目标插件;
将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到更新后的宿主应用安装包。
2.根据权利要求1所述的方法,其特征在于,所述根据所述宿主信息以及所述插件信息分别获取所述宿主的宿主程序以及各插件的插件程序,包括:
根据所述宿主信息中的宿主下载地址获取所述宿主程序;
根据所述插件信息中的插件下载地址获取所述插件程序。
3.根据权利要求1所述的方法,其特征在于,所述对所述宿主程序以及所述插件程序进行兼容性测试,确认各插件程序中与所述宿主程序不兼容的目标插件,包括:
通过所述宿主程序对所述插件程序进行页面调用测试,得到第一测试结果;
通过所述插件程序对所述宿主程序进行页面调用测试,得到第二测试结果;
根据所述第一测试结果以及所述第二测试结果确定所述目标插件。
4.根据权利要求1所述的方法,其特征在于,所述对所述宿主程序以及所述插件程序进行兼容性测试,确认各插件程序中与所述宿主程序不兼容的目标插件,包括:
获取安装终端发送的所述宿主程序对所述插件程序进行页面调用的第一调用结果;
获取所述安装终端发送的所述插件程序对所述宿主程序进行页面调用的第二调用结果;
根据所述第一调用结果以及所述第二调用结果确定所述目标插件。
5.根据权利要求1所述的方法,其特征在于,所述获取宿主应用的宿主信息及所述宿主应用对应的多个插件的插件信息,包括:
获取宿主应用的更新指令;
根据所述更新指令,从预设的宿主插件信息表中获取所述宿主应用的宿主信息及所述宿主应用对应的多个插件的插件信息。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到更新后的宿主应用安装包,包括:
获取所述目标插件相对于目标终端的历史使用频率,所述目标终端为需要对宿主应用进行更新的终端;
当所述历史使用频率大于预设频率阈值时,将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到所述更新后的宿主应用安装包。
7.根据权利要求6所述的方法,其特征在于,所述将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到更新后的宿主应用安装包之后,所述方法还包括:
将所述更新后的宿主应用安装包发送至服务器中;
向所述目标终端发送应用更新指示信息,使得目标终端根据所述应用更新指示信息从所述服务器中下载所述更新后的宿主应用安装包,以对所述宿主应用进行更新。
8.一种安装包的更新装置,其特征在于,包括:
第一获取单元,用于获取宿主应用的宿主信息及所述宿主应用对应的多个插件的插件信息;
第二获取单元,用于根据所述宿主信息以及所述插件信息分别获取所述宿主的宿主程序以及各插件的插件程序;
测试单元,用于对所述宿主程序以及所述插件程序进行兼容性测试,确认各插件程序中与所述宿主程序不兼容的目标插件;
处理单元,用于将所述目标插件对应的插件程序打包至所述宿主程序中,以对所述目标插件进行组件化处理,得到更新后的宿主应用安装包。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110842877.5A CN113535194B (zh) | 2021-07-23 | 2021-07-23 | 安装包的更新方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110842877.5A CN113535194B (zh) | 2021-07-23 | 2021-07-23 | 安装包的更新方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113535194A true CN113535194A (zh) | 2021-10-22 |
CN113535194B CN113535194B (zh) | 2024-07-09 |
Family
ID=78120823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110842877.5A Active CN113535194B (zh) | 2021-07-23 | 2021-07-23 | 安装包的更新方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113535194B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703815A (zh) * | 2021-10-29 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 离线资源更新方法、装置、终端和存储介质 |
CN114172876A (zh) * | 2021-11-29 | 2022-03-11 | 阿里巴巴(中国)有限公司 | 数据传输方法、装置及计算机存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030144A (zh) * | 2006-02-28 | 2007-09-05 | 国际商业机器公司 | 用于打包软件的方法与*** |
CN101984410A (zh) * | 2010-11-12 | 2011-03-09 | 中兴通讯股份有限公司 | 软件安装包的生成、卸载方法及装置 |
US20140223425A1 (en) * | 2011-07-01 | 2014-08-07 | Rodney D. Brown | Plug-In Installer Framework |
CN104008060A (zh) * | 2014-06-18 | 2014-08-27 | 腾讯科技(深圳)有限公司 | 插件与宿主兼容性的检测方法及检测服务器 |
CN111026455A (zh) * | 2019-11-27 | 2020-04-17 | 掌阅科技股份有限公司 | 插件生成方法、电子设备及存储介质 |
CN113138768A (zh) * | 2021-04-29 | 2021-07-20 | 北京百度网讯科技有限公司 | 应用程序包生成方法、装置、电子设备以及可读存储介质 |
-
2021
- 2021-07-23 CN CN202110842877.5A patent/CN113535194B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030144A (zh) * | 2006-02-28 | 2007-09-05 | 国际商业机器公司 | 用于打包软件的方法与*** |
CN101984410A (zh) * | 2010-11-12 | 2011-03-09 | 中兴通讯股份有限公司 | 软件安装包的生成、卸载方法及装置 |
US20140223425A1 (en) * | 2011-07-01 | 2014-08-07 | Rodney D. Brown | Plug-In Installer Framework |
CN104008060A (zh) * | 2014-06-18 | 2014-08-27 | 腾讯科技(深圳)有限公司 | 插件与宿主兼容性的检测方法及检测服务器 |
CN111026455A (zh) * | 2019-11-27 | 2020-04-17 | 掌阅科技股份有限公司 | 插件生成方法、电子设备及存储介质 |
CN113138768A (zh) * | 2021-04-29 | 2021-07-20 | 北京百度网讯科技有限公司 | 应用程序包生成方法、装置、电子设备以及可读存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703815A (zh) * | 2021-10-29 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 离线资源更新方法、装置、终端和存储介质 |
CN113703815B (zh) * | 2021-10-29 | 2022-02-11 | 腾讯科技(深圳)有限公司 | 离线资源更新方法、装置、终端和存储介质 |
CN114172876A (zh) * | 2021-11-29 | 2022-03-11 | 阿里巴巴(中国)有限公司 | 数据传输方法、装置及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113535194B (zh) | 2024-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190324772A1 (en) | Method and device for processing smart contracts | |
CN111090536B (zh) | 一种获取内存泄露信息的方法、装置、介质和电子设备 | |
CN113535194B (zh) | 安装包的更新方法、装置、计算机设备及存储介质 | |
US10397281B2 (en) | Method, system and server for self-healing of electronic apparatus | |
CN113242288B (zh) | 一种物联网设备固件升级方法、***、装置以及存储介质 | |
CN112130926B (zh) | 应用程序运行的方法、装置、终端设备及存储介质 | |
US10997055B2 (en) | Methods, circuits, apparatus, systems and associated software modules for evaluating code behavior | |
CN112882732A (zh) | 一种软件开发工具包sdk中功能代码的更新方法和装置 | |
US20180189167A1 (en) | Methods, circuits, apparatus, systems and associated software modules for evaluating code behavior | |
CN113821439B (zh) | 将函数注册到探测点的方法、装置、存储介质以及终端 | |
US20140137085A1 (en) | Electronic system, onboard modular execution platform and method ensuring partitioning of configurable decision-making rules | |
CN111399849B (zh) | 一种应用程序安装包的确定方法及*** | |
CN111352631A (zh) | 一种接口兼容性检测方法及装置 | |
CN112711427A (zh) | 一种镜像文件的获取方法以及装置 | |
CN113434213B (zh) | 一种终端的程序运行方法以及装置 | |
JP2009129133A (ja) | ソフトウェア部分テストシステム、ソフトウェア部分テスト方法およびソフトウェア部分テスト用プログラム | |
JP2006318197A (ja) | コントローラ支援装置、プログラム | |
CN111782183B (zh) | 用于判断组件依赖关系的方法及设备、电子设备和介质 | |
CN115543486B (zh) | 面向无服务器计算的冷启动延迟优化方法、装置和设备 | |
CN111782282B (zh) | 启动程序加载方法和装置、电子设备和存储介质 | |
CN117724761A (zh) | 虚幻引擎适配方法、装置、电子设备及存储介质 | |
CN115202709A (zh) | 软件项目依赖分析方法、装置、计算机设备及存储介质 | |
CN112579126A (zh) | 软件开发平台及软件开发方法 | |
CN117369825A (zh) | 基于安卓的应用软件开发方法、装置、设备及介质 | |
CN115934123A (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 | ||
GR01 | Patent grant |