安装插件的方法、装置和存储介质制造方法及图纸

技术编号:28116957 阅读:26 留言:0更新日期:2021-04-19 11:15
本申请实施例提供一种安装插件的方法、装置和存储介质,包括:接收第一用户操作,所述第一用户操作用于请求安装与第一应用相关的第一插件,所述第一应用包含第一插件框架和与所述第一插件框架相关联的至少一个插件,所述至少一个插件中每个插件的主版本号与所述第一插件框架的主版本号相同,所述第一插件不同于所述至少一个插件;电子设备从服务器接收所述第一插件;电子设备检测所述第一插件的主版本号和所述第一插件框架的主版本号是否相同;若是,安装所述第一插件。本方案可应用于人工智能(Artificial Intelligence,AI)终端,可适用于人工智能插件,如人脸识别插件和语音识别插件等。件等。件等。

【技术实现步骤摘要】
安装插件的方法、装置和存储介质


[0001]本申请涉及电子
,尤其涉及一种安装插件的方法、装置和存储介质。

技术介绍

[0002]插件化概念:当一个软件项目开发结束并交互使用后,需要添加一些新的功能,通常希望在不修改原有的应用程序情况下,将新添加的功能植入到系统中,这就是所谓的插件化,新增加的功能模块就叫插件。插件化能大大的降低模块间的耦合性,有利于各模块的独立维护,加快项目的维护更新。
[0003]安卓应用束(Android App Bundle)是一种改进的应用程序打包方式,能大幅度减少应用体积,是安卓系统上Google官方的动态发布方案。该方案可支持将应用拆分成多个插件,并且插件可以从谷歌应用市场下载安装。
[0004]然而,谷歌应用市场上发布的对应同一应用的所有插件是绑定开发,且绑定发布的。即开发人员在对某一个应用的某一个插件进行开发升级时,往往需要对该应用的所有插件进行绑定升级,且所有插件的版本号和该应用的插件框架的版本号均需要完全一致,并且需要将所有插件一起绑定发布。
[0005]对于从谷歌应用市场下载并安装插件的用户来说,在需要下载安装某个应用的某个插件时候,需要将该应用发布的所有插件一起下载安装,且在安装时需确保各插件的版本号和插件框架的版本号完全一致,才允许安装该插件。

技术实现思路

[0006]本申请公开了一种安装插件的方法、装置和存储介质,可以满足用户对于不同插件能力单独下载安装的需求,提高了用户体验。
[0007]第一方面,本申请实施例提供一种安装插件的方法,所述方法包括:
[0008]电子设备接收第一用户操作,所述第一用户操作用于请求安装与第一应用相关的第一插件,所述第一应用是所述电子设备本地已安装的一个应用,所述第一应用包含第一插件框架和与所述第一插件框架相关联的至少一个插件,所述至少一个插件中每个插件的主版本号与所述第一插件框架的主版本号相同,所述至少一个插件中每个插件具有与该插件对应的第二版本号,所述第一插件框架具有第一版本号,所述第一版本号和所述第二版本号均包含主版本号、子版本号和阶段版本号,所述第一插件不同于所述至少一个插件;
[0009]响应于所述第一用户操作,所述电子设备从服务器接收所述第一插件;
[0010]所述电子设备检测所述第一插件的主版本号和所述第一插件框架的主版本号是否相同;
[0011]若是,所述电子设备安装所述第一插件。
[0012]其中,电子设备在安装插件时,通过确保插件的主版本号和插件框架的主版本号相同即可以安装该插件。相较于现有技术中需要在插件的版本号和插件框架的版本号完全相同的情况下才能安装的手段,本方案的电子设备在安装插件时更加灵活,兼容性更高。另
一方面,本方案可满足用户基于不同的需求下载安装不同的插件,无需将对应应用的所有插件均进行安装,提高了用户体验。
[0013]可选的,所述第一插件的阶段版本号和所述第一插件框架的阶段版本号不同。
[0014]其中,电子设备在安装插件时,通过在确保插件的主版本号和插件框架的主版本号相同,且插件的阶段版本号和插件框架的阶段版本号不同时即可以安装该插件。相较于现有技术中需要在插件的版本号和插件框架的版本号完全相同的情况下才能安装的手段,本方案的电子设备在安装插件时更加灵活,兼容性更高。
[0015]可选的,所述至少一个插件包括第二插件,所述第一插件为所述第二插件对应的更新插件。所述第一插件的版本号高于所述第二插件的版本号。
[0016]其中,本方案中安装的插件可以是本地安装应用所包含插件对应的更新插件。
[0017]进一步地,在电子设备接收第一用户操作之前,所述方法包括:
[0018]电子设备在预设时间间隔向服务器发送请求,以确认服务器中是否发布有与所述电子设备本地安装的第一应用所包含的至少一个插件对应的更新插件;
[0019]若所述服务器发布有与所述电子设备本地安装的第一应用所包含的第六插件对应的更新插件时,所述电子设备检测所述更新插件的版本号是否高于所述第六插件的版本号,其中,所述至少一个插件包含第六插件;
[0020]若所述更新插件的版本号高于所述第六插件的版本号,则所述电子设备显示第一用户界面,所述第一用户界面用于指示用户触发第一用户操作。
[0021]可选的,所述第一插件为所述第一应用的全新的插件。
[0022]其中,本方案中安装的插件也可以是本地安装应用所不包含的插件,即应用的全新的插件。
[0023]可选的,所述电子设备安装所述第一插件包括所述电子设备安装所述第一插件的类加载器,所述电子设备安装所述第一插件的类加载器,包括:
[0024]所述电子设备创建所述第一插件的初始类加载器;
[0025]所述电子设备确认所述第一插件是否配置有isolated Split属性;
[0026]若配置有,则所述电子设备获取所述第一插件的动态库文件的存储路径;
[0027]所述电子设备将所述动态库文件的存储路径添加至所述初始类加载器中并得到所述第一插件的类加载器。
[0028]其中,电子设备在检测到插件配置有isolated Split属性时,通过获取插件的动态库文件的存储路径,并将该动态库文件的存储路径添加到类加载器中,以支持插件访问自身内部的动态库文件。
[0029]可选的,所述方法还包括:
[0030]当所述电子设备检测到用于指示升级系统的指令时,所述电子设备从所述服务器获取第一系统安装包,所述第一系统安装包包含至少一个应用的安装包,所述至少一个应用包含所述第一应用,所述第一应用的安装包包含第三插件;所述已安装的所述第一应用所包括的存储在所述电子设备上的至少一个插件包括第四插件和第五插件,所述第三插件、所述第四插件和第五插件是版本号不同、标识相同的插件,所述第四插件被存储在所述电子设备的预置分区,所述第五插件被存储在所述电子设备的安装分区,其中,每个插件均携带有标识,对应相同功能图标的插件的标识相同;
[0031]所述电子设备检测所述第三插件的版本号是否高于所述已安装的所述第一应用所包括的存储在所述电子设备上的与所述第三插件的标识相同的所有插件的版本号;
[0032]若是,所述电子设备检测所述第三插件的主版本号和所述第一插件框架的主版本号是否相同;
[0033]若相同,所述电子设备安装所述第三插件。
[0034]通过本申请实施例,可实现电子设备在完成Over-the-Air Technology update空间下载技术(简称OTA升级)后对应升级应用的各插件的版本均为最高版本,以解决现有技术中在OTA升级后部分插件的版本被降级的缺点。
[0035]可选的,所述第一应用的安装包还包含第二插件框架,所述第一插件框架和所述第二插件框架是版本号不同的插件框架,所述方法还包括:
[0036]所述电子设备检测所述第二插件框架的版本号是否高于所述第一插件框架的版本号;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种安装插件的方法,其特征在于,所述方法包括:电子设备接收第一用户操作,所述第一用户操作用于请求安装与第一应用相关的第一插件,所述第一应用是所述电子设备本地已安装的一个应用,所述第一应用包含第一插件框架和与所述第一插件框架相关联的至少一个插件,所述至少一个插件中每个插件的主版本号与所述第一插件框架的主版本号相同,所述至少一个插件中每个插件具有与该插件对应的第二版本号,所述第一插件框架具有第一版本号,所述第一版本号和所述第二版本号均包含主版本号、子版本号和阶段版本号,所述第一插件不同于所述至少一个插件;响应于所述第一用户操作,所述电子设备从服务器接收所述第一插件;所述电子设备检测所述第一插件的主版本号和所述第一插件框架的主版本号是否相同;若是,所述电子设备安装所述第一插件。2.根据权利要求1所述的方法,其特征在于,所述第一插件的阶段版本号和所述第一插件框架的阶段版本号不同。3.根据权利要求1或2所述的方法,其特征在于,所述至少一个插件包括第二插件,所述第一插件为所述第二插件对应的更新插件。4.根据权利要求1或2所述的方法,其特征在于,所述第一插件为所述第一应用的全新的插件。5.根据权利要求1至4任一项所述的方法,其特征在于,所述电子设备安装所述第一插件包括所述电子设备安装所述第一插件的类加载器,所述电子设备安装所述第一插件的类加载器,包括:所述电子设备创建所述第一插件的初始类加载器;所述电子设备确认所述第一插件是否配置有isolatedSplit属性;若配置有,则所述电子设备获取所述第一插件的动态库文件的存储路径;所述电子设备将所述动态库文件的存储路径添加至所述初始类加载器中并得到所述第一插件的类加载器。6.根据权利要求1至5任一项所述的方法,其特征在于,所述第一插件为人工智能AI插件。7.根据权利要求6所述的方法,其特征在于,所述人工智能AI插件包括如下中的一种或多种:人脸识别插件、图像超分插件、意图识别插件、文本翻译插件、语音识别插件、车机语音唤醒插件和车机语音识别插件。8.一种安装插件的方法,其特征在于,所述方法包括:当电子设备检测到用于指示升级系统的指令时,所述电子设备从服务器获取第一系统安装包,所述第一系统安装包包含至少一个应用的安装包,所述至少一个应用包含第一应用,所述第一应用包含第一插件框架和与所述第一插件框架相关联的至少一个插件,所述至少一个插件中每个插件的主版本号与所述第一插件框架的主版本号相同,所述至少一个插件中每个插件具有与该插件对应的第二版本号,所述第一插件框架具有第一版本号,所述第一版本号和所述第二版本号均包含主版本号、子版本号和阶段版本号,所述第一应用的安装包包含第三插件;所述已安装的所述第一应用所包括的存储在所述电子设备上的至少一个插件包括第四插件和第五插件,所述第三插件、所述第四插件和第五插件是版本号
不同、标识相同的插件,所述第四插件被存储在所述电子设备的预置分区,所述第五插件被存储在所述电子设备的安装分区,其中,每个插件均携带有标识,对应相同功能图标的插件的标识相同;所述电子设备检测所述第三插件的版本号是否高于所述已安装的所述第一应用所包括的存储在所述电子设备上的与所述第三插件的标识相同的所有插件的版本号;若是,所述电子设备检测所述第三插件的主版本号和所述第一插件框架的主版本号是否相同;若相同,所述电子设备安装所述第三插件。9.根据权利要求8所述的方法,其特征在于,所述第一应用的安装包还包含第二插件框架,所述第一插件框架和所述第二插件框架是版本号不同的插件框架,所述方法还包括:所述电子设备检测所述第二插件框架的版本号是否高于所述第一插件框架的版本号;若是,所述电子设备安装所述第二插件框架。10.一种装置,其特征在于,包括:一个或多个处理器、一个或多个存储器;所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述一个或多个处理器执行所述计算机指令时,使得...

【专利技术属性】
技术研发人员:谷岳印文帅万柯许翔李明江
申请(专利权)人:华为终端有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1