应用安装方法和装置、电子设备和存储介质与流程

文档序号:31134528发布日期:2022-08-13 09:51阅读:93来源:国知局
应用安装方法和装置、电子设备和存储介质与流程

1.本发明涉及终端软件应用安装技术领域,特别涉及应用安装方法和装置、电子设备和存储介质。


背景技术:

2.android系统的版本号会随着android系统不断地更新而递增。运行在android系统上的各个应用,通常配置有一个可运行的android系统最低版本号,无法在低于配置的最低版本号的android系统上安装。但随着应用的更新、新应用的研发以及android系统的更新,配置的可运行的android系统最低版本号也会增加。
3.在android系统的默认设计下,当应用安装时,若检测到当前android系统版本号比要安装的应用其配置的可运行的android系统最低版本号低,那么在安装该应用时就会出现安装出错的情况,使得android系统无法安装该应用。即使将应用预置到系统中,也无法完成安装。例如某些4.0平台的android系统包括投影仪、机顶盒等产品,由于版本限制无法安装一些主流的在线媒体播放软件,导致产品无法推广。


技术实现要素:

4.本发明提供应用安装方法和装置、电子设备和存储介质,其使低版本系统能够安装高版本的应用,能够增强低版本系统设备的可用性。
5.在本发明的一个方面,提供一种应用安装方法。该方法包括步骤:获取应用安装包的版本信息;获取预设的配置文件,并且根据所述配置文件修改所述版本信息;以及根据修改后的所述版本信息对所述应用安装包进行安装。
6.在一些实施例中,根据所述配置文件修改所述版本信息包括:若确定所述版本信息与所述配置文件匹配,则根据所述配置文件修改所述版本信息。
7.在一些实施例中,所述配置文件包括应用版本范围,并且所述应用安装方法还包括:依次获取不同版本信息的所述应用安装包;以及若确定由所述应用安装包生成的应用满足预设的运行条件,则将与所述应用安装包相对应的版本信息增加至所述应用版本范围。
8.在一些实施例中,所述配置文件包括阻断版本号,并且根据所述配置文件修改所述版本信息包括:在所述应用安装包中新增原始字段;将所述版本信息的内容复制至所述原始字段;以及将所述版本信息替换为所述阻断版本号。
9.在一些实施例中,所述阻断版本号和所述版本信息均包括版本号码,并且将所述版本信息替换为所述阻断版本号包括:将所述版本信息的版本号码替换为所述阻断版本号的版本号码,所述阻断版本号的版本号码为预设极值。
10.在一些实施例中,所述应用安装方法还包括:获取设置指令,根据所述设置指令修改并保存所述配置文件。
11.在一些实施例中,所述应用安装方法还包括:将所述配置文件设置在系统目录下;
以及若系统上电,则读取并存储所述配置文件。
12.在一些实施例中,所述版本信息包括可运行的最低版本号信息,并且根据所述配置文件修改所述版本信息包括:根据所述配置文件获取预设值;以及将所述可运行的最低版本号信息修改为所述预设值。
13.在本发明的另个方面,提供一种应用安装装置。该装置包括:获取模块,被配置为获取应用安装包的版本信息;配置模块,被配置为获取预设的配置文件,并且根据所述配置文件修改所述版本信息;以及安装模块,被配置为根据修改后的所述版本信息对所述应用安装包进行安装。
14.在本发明的又一方面,提供一种电子设备。该电子设备包括存储器,被配置为存储计算机程序;以及处理器,被配置为执行所述计算机程序以执行上述的应用安装方法。
15.在本发明的再一方面,提供一种计算机可读介质。该介质上存储有计算机程序,所述计算机程序被处理器执行以实现上述的应用安装方法。
16.根据本发明的实施例,当系统接收到应用安装指令以及应用安装包后,通过对应用安装包进行解析得到应用安装包对应的版本信息,再根据预设配置文件对修改版本信息,使修改后的版本信息适配的可安装系统版本号区间发生变化,使得系统判断当前系统版本号能够适配待安装的应用安装包,并对待安装的应用安装包进行安装,实现低版本系统能够安装高版本应用的效果,增强了低版本系统设备的可用性。
附图说明
17.图1为根据本发明实施例的应用安装方法的流程图;
18.图2为根据本发明实施例的应用安装方法的另一步骤流程图;
19.图3为根据本发明实施例的应用安装方法的白名单信息中应用版本范围获取的流程图;
20.图4为本发明实施例的应用安装装置的结构示意图;
21.图5为本发明实施例的电子设备的结构示意图。
具体实施方式
22.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
23.在已有技术中,应用会配置一个可运行的android系统最低版本号。若设备中android系统的版本号低于配置的android系统最低版本号时,在安装该应用会出现安装出错的情况。但有时,该配置为了保险通常会设置得较高,即实际上该应用能够在较低的系统上运行,但无法成功安装。
24.为了解决至少上述技术问题,本公开提供了一种应用安装方法。根据本公开,当接收到应用安装指令并获取应用安装包后,通过解析所述应用安装包得到所述应用安装包的版本信息,并获取预设配置文件,根据所述配置文件判断应用安装包是否能够成功运行,若是则修改所述版本信息使应用能够成功安装。以此方式,根据本公开的实施例能够实现在低版本系统中安装高版本应用的效果,增强了低版本系统设备的可用性。
25.下文中,将参考具体实施例并且结合附图描述根据本公开的技术方案。
26.图1是示出根据本公开的实施例的应用安装方法100的流程图。参照图1,该方法100包括以下步骤102至步骤106。
27.在步骤102,获取应用安装包的版本信息。
28.在步骤104,获取预设的配置文件,根据所述配置文件修改所述版本信息。在一些实施例中,所述根据配置文件修改所述版本信息之前包括:查询所述版本信息是否与所述配置文件匹配,若匹配,则执行根据所述配置文件修改所述版本信息的步骤。以此方式,通过配置文件为当前系统版本选择其能够适用的应用安装包,并将版本信息与配置文件不匹配的应用安装包剔除,使得经过配置文件筛选后的应用安装包均与系统当前版本适配,提高系统稳定性。
29.在一些实施例中,所述配置文件包括应用版本范围;所述获取预设的配置文件之前包括:依次获取不同版本信息的所述应用安装包并进行安装;判断所述应用安装包生成的应用是否满足预设的运行条件,若是,则将所述应用安装包对应的版本信息增加至所述应用版本范围。以此方式,依次在系统上强制安装不同版本信息的应用安装包并进行安装,并将符合运行条件的应用安装包的版本信息生成应用版本范围,确保与配置文件匹配的应用安装包均在系统当前版本下能够运行。
30.在一些实施例中,所述配置文件包括阻断版本号;所述根据所述配置文件修改所述版本信息包括:在所述应用安装包中新增原始字段;将所述版本信息的内容复制至所述原始字段;将所述版本信息替换为所述阻断版本号。以此方式,使得应用自身或其他应用更新软件获取到的应用版本信息均为经过替换的阻断版本号,绕过了应用升级检测,避免应用自动升级或弹出升级提示的情况发生。
31.在一些实施例中,所述阻断版本号和版本信息均包括版本号码;将所述版本信息替换为所述阻断版本号包括:将所述版本信息的版本号码替换为所述阻断版本号的版本号码;所述阻断版本号的版本号码为预设极值。以此方式,使得阻断版本号的版本号码远远大于版本信息的版本号码,完全杜绝应用自动升级或弹出升级提示的情况发生。
32.在一些实施例中,获取设置指令,根据所述设置指令修改所述配置文件并保存。以此方式,用户能够通过设置指令自主对配置文件进行修改,提高系统灵活性。
33.在一些实施例中,所述获取预设配置文件之前包括:将所述配置文件设置在系统目录下;判断系统是否上电,若是,则读取所述配置文件并存储。以此方式,更方便在系统上对配置文件进修改。
34.在一些实施例中,所述版本信息包括可运行的最低版本号信息;所述根据所述配置文件修改所述版本信息包括:根据所述配置文件获取预设值,将所述可运行的最低版本号信息修改为所述预设值。以此方式,使得可运行的最低版本号信息低于系统当前的版本信息,从而系统能够安装高于自身版本信息的应用安装包。
35.在步骤106,根据修改后的所述版本信息对所述应用安装包进行安装。
36.下文中,将通过示例描述根据本发明实施例的技术方案在android系统版本为4.4的投影仪的应用场景。在示例中,投影仪中android系统的sdk版本号为19,而某在线视频软件的应用版本号versionname为10.2.1(通过pc工具得知对应的versioncode为503),即该在线视频软件要求的最低系统安装sdk版本号为23,由于投影仪中android系统低于该在线视频软件最低的系统安装sdk版本号,因此投影仪无法安装该在线视频软件。而通过本实施
例中的步骤,则能够实现在android系统版本为4.4的投影仪中安装最低系统安装sdk版本号为23的在线视频软件。
37.图2是示出根据本发明实施例的应用安装方法的另一步骤流程图200。如图2所示,该方法包括以下步骤202至步骤242。
38.在步骤202,安装应用执行原生packagemanagerservice(安装包管理服务),并向packageparser(安装包解析)发起解包请求。
39.在步骤204,packageparser解析包名,并根据包名进行白名单查询。
40.在步骤206,根据返回指定包名的白名单判断包名是否为白名单应用且版本号落在白名单范围内。
41.在步骤208,若应用安装包为白名单应用且版本号落在白名单范围内,则修改minsdkversion(最小sdk版本)=0。
42.在步骤210,修改packageinfo(安装包信息)、applicationinfo(应用信息);新增字段originversioncode(原始版本码信息)=versioncode(版本码信息)=白名单中的displayversioncode(显示的版本码信息);originversionname(原始版本字符信息)=versionname(版本字符信息)=白名单中的displayversionname(显示的版本字符信息)。具体地,系统框架framework的packageinfo.java和applicationinfo.java中自身携带字段versionname和versioncode(其中,versionname是用于展示用的版本号字符,例如10.2.1、20220501sp、happy_version;而versioncode为整数,由于为整数,通常累加该值用于升级,例如1、2、3、503、504,versionname和versioncode没有相互对应关系,对于不同的apk,值是不同的,可以用一些pc工具查看这些apk的versionname和versioncode),在框架内新增字段originversioncode和originversionname;即在原流程packagemanagerservice给packageinfo和applicationinfo的versionname和versioncode赋值的地方,直接在原赋值处用白名单的新值替换versionname和versioncode;并将原值直接赋值给originversionname和originversioncode用于settings应用展示即可。
43.在步骤212,继续正常安装流程。其中,应用自身或其他非setting应用获取版本信息为修改后的versioncode就不会升级。若应用安装包不满足包名是否为白名单应用且版本号落在白名单范围内的条件,则在提示安装失败。
44.在步骤214,android系统开机后启动数据服务。具体的,根据特定应用在机器上的实际效果,在系统的system/user/share/目录下,预置一个初始的白名单配置xml文件(即为上述配置文件),举例该xml放置2个白名应用:com.aaa.bbb和com.aaa.ccc。xml内容如下:
[0045][0046][0047]
其中,一个《package》《/package》为一个应用配置。packagename为应用包名,应用都会有个版本号,不同版本号对应不同的versioncode,versioncode落在minversioncode和maxversioncode之间(包含min和max这2个端点版本)的才会生效白名单效果。displayversionname为要显示的版本号和修改后的versioncode。开机时,packagemanager服务启动,会解析该xml,读取上面的信息,供安装的时候进行判断。com.aaa.ccc段示例配置相当于配置后,只放开最小安装限制,但不去管控升级检测;displayversioncode=0是一个保留值,设置为0值代表保留原app中的versioncode不变,不去做替换versioncode处理,后续如果有新软件版本,会检测到更新行为。
[0048]
在步骤216,解析预置配置项,获取当前配置版本号、应用包名、最小应用版本范围、最大应用版本范围、要显示的版本号。
[0049]
在步骤218,判断settingprovider当前存储版本号是否小于配置版本号。
[0050]
在步骤220,若否,则不处理。
[0051]
在步骤222,若是,则根据传递的配置文件信息,更新存储、更新当前存储版本号。
[0052]
在步骤224,存储白名单。即将需要处理的包名、允许安装的版本范围、修改后需要显示的版本信息(versionname和versioncode两个字段)进行存储。
[0053]
在步骤226,结束配置过程。
[0054]
在步骤228,用户打开setting应用。
[0055]
在步骤230,用户点击新增项“低版本应用配置”。并查询所有白名单列表。
[0056]
在步骤232,接收返回的所有白名单列表,并根据白名单信息展示当前配置。
[0057]
在步骤234,用户修改当前配置。
[0058]
在步骤236,用户点击应用信息后,查询应用版本号。
[0059]
在步骤238,获取packageinfo、applicationinfo。
[0060]
在步骤240,将默认显示versionname改为originversionname。
[0061]
在步骤242,结束setting过程。
[0062]
图3是示出根据本发明实施例的应用安装方法的白名单信息中应用版本范围获取的流程图300。包括以下步骤302至步骤304。
[0063]
在步骤302,依次获取不同版本信息的所述应用安装包并进行安装。如在线视频软件包括10.2.1至10.2.15多个版本,则依次对该在线视频软件的不同版本在系统上强制安装。或安装一个相对较低的版本后,对软件进行升级。
[0064]
在步骤304,判断所述应用安装包生成的应用是否满足预设的运行条件,若是,则将所述应用安装包对应的版本信息增加至所述应用版本范围。如当该在线视频软件升级到例如10.2.8(versioncode为510)之后,运行出现卡顿,且出现异常大量问题,则该版本就不适合android系统4.4版本运行。因此在10.2.1至10.2.7(versioncode为503-509)这中间的版本允许绕过限制进行安装,但不能让软件升级或安装到10.2.7之后的版本。
[0065]
根据本发明的另一方面,图4是示出根据本发明实施例的应用安装装置400的框图。参照图图4,该应用安装装置400包括获取模块402,用于获取应用安装包的版本信息;配置模块404,用于获取预设的配置文件,根据所述配置文件修改所述版本信息。安装模块406,用于根据修改后的所述版本信息对所述应用安装包进行安装。
[0066]
根据本发明的又一方面,图5是示出根据本发明实施例的应用安装设备500的示意图。参照图5,该电子设备500包括存储器502、处理器504以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上面描述的应用安装方法的各个步骤。
[0067]
根据本发明的又一方面,提供了一种计算机可读介质。该计算机可读介质上存储有计算机程序,该计算机程序被处理器执行以实现如上面描述的应用安装方法。
[0068]
综上所述,本发明提供的应用安装方法、装置、设备和存储介质,当系统接收到应用安装指令以及应用安装包后,通过对应用安装包进行解析得到应用安装包对应的版本信息,再根据预设配置文件对修改版本信息,使修改后的版本信息适配的可安装系统版本号区间发生变化,使得系统判断当前系统版本号能够适配待安装的应用安装包,并对待安装的应用安装包进行安装,实现低版本系统能够安装高版本应用的效果,增强了低版本系统设备的可用性。其中,通过在应用安装包中新增原始字段,将版本信息的内容复制至原始字段,而将版本信息替换为阻断版本号,使得应用自身或其他应用更新软件获取到的应用版本信息均为经过替换的阻断版本号,绕过了应用升级检测,避免应用自动升级或弹出升级提示的情况发生。
[0069]
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发
明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1