CN113296799B - 应用程序的安装方法、装置、电子设备和存储介质 - Google Patents

应用程序的安装方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN113296799B
CN113296799B CN202110684958.7A CN202110684958A CN113296799B CN 113296799 B CN113296799 B CN 113296799B CN 202110684958 A CN202110684958 A CN 202110684958A CN 113296799 B CN113296799 B CN 113296799B
Authority
CN
China
Prior art keywords
application program
target
api level
target api
version
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.)
Active
Application number
CN202110684958.7A
Other languages
English (en)
Other versions
CN113296799A (zh
Inventor
陈振明
林志泳
吴宪林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202110684958.7A priority Critical patent/CN113296799B/zh
Publication of CN113296799A publication Critical patent/CN113296799A/zh
Application granted granted Critical
Publication of CN113296799B publication Critical patent/CN113296799B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种应用程序的安装方法、装置、计算机设备和存储介质。所述方法包括:响应于目标应用程序的安装指令,判断所述目标应用程序是否为当前电子设备中已安装历史版本的应用程序;若所述目标应用程序是当前电子设备中已安装历史版本的应用程序,则将所述目标应用程序对应的第一目标API级别与所述已安装历史版本的应用程序对应的第二目标API级别进行比较;若所述第一目标API级别小于所述第二目标API级别,则展示风险提示信息,所述风险提示信息用于指示用户选择是否继续安装所述目标应用程序。采用本方法能够有效防止应用程序出现对操作系统安全特性的绕过行为,以保证安全和隐私保护特性生效。

Description

应用程序的安装方法、装置、电子设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用程序的安装方法、装置、电子设备和计算机可读存储介质。
背景技术
随着计算机技术技术的发展,移动终端的功能和种类越来越丰富,包括各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等。移动终端的操作系统中添加的安全和隐私保护的功能也越来越多,因此,部分应用商店对上架的应用程序提出了要求,以保证安全和隐私保护功能生效。
然而,目前的应用程序的安装方式中,只有部分应用商店对上架的应用程序提出了要求,容易导致覆盖率不足的问题,使得另一部分应用程序可能出现对操作系统新增安全特性的绕过行为,从而产生安全和隐私保护特性失效的问题。
发明内容
本申请实施例提供了一种应用程序的安装方法、装置、电子设备、计算机可读存储介质,可以有效防止应用程序出现对操作系统安全特性的绕过行为,以保证安全和隐私保护特性生效。
一种应用程序的安装方法,应用于电子设备,包括:
响应于目标应用程序的安装指令,判断所述目标应用程序是否为当前电子设备中已安装历史版本的应用程序;
若所述目标应用程序是当前电子设备中已安装历史版本的应用程序,则将所述目标应用程序对应的第一目标API级别与所述已安装历史版本的应用程序对应的第二目标API级别进行比较;
若所述第一目标API级别小于所述第二目标API级别,则展示风险提示信息,所述风险提示信息用于指示用户选择是否继续安装所述目标应用程序。
一种应用程序的安装装置,包括:
判断模块,用于响应于目标应用程序的安装指令,判断所述目标应用程序是否为当前电子设备中已安装历史版本的应用程序;
比较模块,用于若判断所述目标应用程序是当前电子设备中已安装历史版本的应用程序,则将所述目标应用程序对应的第一目标API级别与所述已安装历史版本的应用程序对应的第二目标API级别进行比较;
展示模块,用于若所述第一目标API级别小于所述第二目标API级别,则展示风险提示信息,所述风险提示信息用于指示用户选择是否继续安装所述目标应用程序。
一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述的应用程序的安装方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的方法的步骤。
上述应用程序的安装方法、装置、计算机设备和存储介质,通过响应于目标应用程序的安装指令,判断目标应用程序是否为当前电子设备中已安装历史版本的应用程序,若目标应用程序是当前电子设备中已安装历史版本的应用程序,则将目标应用程序对应的第一目标API级别与已安装历史版本的应用程序对应的第二目标API级别进行比较,若第一目标API级别小于第二目标API级别,则展示风险提示信息,风险提示信息用于指示用户选择是否继续安装目标应用程序。由此使得,通过在应用程序安装时检测目标API级别,有效提升目标API级别检测的覆盖面,能够弥补仅在应用程序上架时进行检测,而导致覆盖率不足的问题。同时也能够有效防止应用程序通过降低目标API级别进行安全特性的绕过行为,以保证安全和隐私保护特性生效。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中应用程序的安装方法的应用环境图;
图2为一个实施例中应用程序的安装方法的流程图;
图3为一个实施例中若目标应用程序不是当前电子设备中已安装历史版本的应用程序步骤的流程图;
图4为一个实施例中若目标应用程序对应的第一目标API级别满足预设目标API级别的阈值条件步骤的流程图;
图5为一个实施例中安卓操作系统的智能手机在应用程序进行安装时的逻辑处理示意图;
图6为一个实施例中应用程序的安装装置的结构框图;
图7为一个实施例中电子设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。
图1为一个实施例中应用程序的安装方法的应用环境示意图。如图1所示,该应用环境包括电子设备102,应用环境可为用户与电子设备102交互的环境。用户可以通过触发操作选取目标应用程序进行安装,即电子设备102响应于用户触发的目标应用程序的安装指令,判断目标应用程序是否为当前电子设备中已安装历史版本的应用程序,若目标应用程序是当前电子设备102中已安装历史版本的应用程序,则电子设备102将目标应用程序对应的第一目标API级别与已安装历史版本的应用程序对应的第二目标API级别进行比较,若第一目标API级别小于第二目标API级别,则电子设备102展示风险提示信息,风险提示信息用于指示用户选择是否继续安装目标应用程序。其中,电子设备102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备;便携式可穿戴设备可以是智能手表、智能手环等。
图2为一个实施例中应用程序的安装方法的流程图。本实施例中的应用程序的安装方法,以运行于图1中的电子设备上为例进行描述。如图2所示,应用程序的安装方法包括步骤202至步骤206。
步骤202,响应于目标应用程序的安装指令,判断目标应用程序是否为当前电子设备中已安装历史版本的应用程序。
电子设备是一类嵌入式计算机系统设备,软件结构可以分为系统软件和应用软件。在电子设备的软件结构中,系统软件主要是操作系统和中间件,常见的电子设备操作系统有苹果的IOS、谷歌的Android、惠普的WebOS及微软Windows等。使用不同操作系统终端的用户均可以通过电子设备中的应用市场界面下载多种类型的应用程序(Application,App),应用程序可以包括系统应用程序、桌面应用程序、驱动应用程序、网络应用程序、手机应用程序、物联网应用程序等。从用户使用应用程序的功能划分,不同类型的应用程序又可以包括即时通讯应用程序、运动及健康应用程序、影音娱乐应用程序等。本申请中的电子设备可以包括智能手机、平板、穿戴式设备等,穿戴式设备可为智能手表、智能手环等。
具体的,用户可以在电子设备的应用市场界面中通过触发操作选取某个应用程序,下载并安装该应用程序,同时也可以进入与该应用程序安装对应的显示界面中,以便用户查看与该应用程序安装相关的信息。例如,用户可以通过点击电子设备应用市场界面中网上购物应用程序的图标,触发下载并安装该应用程序,即电子设备响应于用户点击操作触发的对目标应用程序(即网上购物应用程序)的安装指令,判断该目标应用程序是否为当前电子设备中已安装历史版本的应用程序。用户可以通过触发操作下载并安装应用市场中提供的不同类型应用程序,并使用不同类型应用程序对应的功能。可以理解的是,用户通过触发操作下载并安装应用程序的方式包括但不限于点击操作,还可以为语音操作、手势操作等其他方式触发,只要能够实现触发下载并安装应用程序的安装指令,对其触发方式不做限定。
以电子设备为安卓操作系统的智能手机为例进行说明。智能手机中运行的操作系统为Android(安卓)操作系统,Android操作系统能够提供丰富的功能,且性能强,智能手机中安装的应用程序为Android应用。智能手机可以响应于用户触发的目标应用程序的安装指令,判断目标应用程序是否为当前智能手机中已安装历史版本的应用程序。其中,目标应用程序是指用户从多个具有不同功能的应用程序中选取的当前需要下载并安装的待安装应用程序,即为目标应用程序。触发操作是指用户通过预设手势、点击、长按等一系列操作触发对应的事件。安装指令是指由用户触发操作触发的对目标应用进行安装的指令。开发人员可以在应用市场的控制面板中预先设置不同触发操作所对应的功能,例如,可以设置单击应用程序图标的操作触发下载并安装该应用程序,双击应用程序图标的操作触发进入与该应用程序对应的下载安装的显示界面中等。已安装历史版本的应用程序是指与目标应用程序相对应的不同版本的目标应用程序,例如,当前待安装的目标应用程序对应的版本信息为微信2.3,则与其对应的已安装的历史版本目标应用程序的版本信息可以为微信2.0、微信2.1和微信2.2。
具体的,用户可以通过单击心电测量应用程序A图标的操作触发下载并安装该应用程序,即智能手机响应于用户通过单击操作触发的对目标应用程序(即心电测量应用程序A)的安装指令,识别目标应用程序(即心电测量应用程序A)的版本信息(版本标识),判断该心电测量应用程序A是否为当前智能手机中已安装历史版本的应用程序,即智能手机根据已识别出的当前待安装的目标应用程序(心电测量应用程序A)的版本信息,从智能手机本地中搜索是否存在与该心电测量应用程序A对应的其他版本信息的该应用程序。例如,假设智能手机识别出当前待安装的目标应用程序的版本信息为心电测量6.0,若智能手机在本地已安装的应用程序中识别出存在待安装的目标应用程序对应的其他版本信息的该应用程序,比如版本信息为心电测量5.0的心电测量应用程序A,则智能手机判断该目标应用程序是当前智能手机中已安装历史版本的应用程序。
可以理解的是,判断目标应用程序是否为当前电子设备中已安装历史版本的应用程序的方式包括但不限于识别版本信息,还可以为识别其他信息,比如应用程序包的标识信息等其他方式,对其判断方式不做限定。
步骤204,若目标应用程序是当前电子设备中已安装历史版本的应用程序,则将目标应用程序对应的第一目标API级别与已安装历史版本的应用程序对应的第二目标API级别进行比较。
电子设备响应于目标应用程序的安装指令,判断目标应用程序是否为当前电子设备中已安装历史版本的应用程序之后,若目标应用程序是当前电子设备中已安装历史版本的应用程序,则电子设备将目标应用程序对应的第一目标API级别与已安装历史版本的应用程序对应的第二目标API级别进行比较。此外,若目标应用程序不是当前电子设备中已安装历史版本的应用程序,则电子设备执行对应的其他流程步骤。
其中,目标API级别即targetSdkVersion,是应用程序开发中需要配置的一个属性,英文全称是:android:targetSdkVersion,中文名称为目标API级别,用以说明应用程序在不同操作系统版本上如何运行。对于应用程序来说,除非更新targetSdkVersion,否则不改变应用的行为。每个版本的Android系统都有一个Api级别标识,存储在系统的底层。应用可以使用清单元素<uses-sdk>来定义自己可以运行在怎样的android系统上,比如能够运行的最低版本系统的Api级别,最高版本系统的Api级别,和在设计上使用的首选Api级别。android:targetSdkVersion指定运行应用的目标API级别。在某些情况下,这允许应用使用在目标API级别中定义的清单文件元素或行为,而不是仅限于使用那些针对最低API级别定义的元素。
例如,谷歌商店(Google Play)在应用程序上架时会对应用程序的targetSdkVersion进行要求,如果应用的targetSdkVersion不符合要求则不允许上架,每个APK(Android application package,Android应用程序包)在清单文件都有一个targetSdkVersion(也称为目标API级别),将应用程序配置为使用新近的API级别能使安全性和性能上的显著改进惠及用户,同时仍然允许该应用程序在较低版本的操作系统(低至minSdkVersion)上运行。例如,Android8.0对应的目标API级别要求为26,Android9.0对应的目标API级别要求为28。
以电子设备为安卓操作系统的智能手机为例进行说明。Android应用程序在发布后,可能会被安装在各种版本的操作系统上(不同的安卓智能手机上),targetSdkVersion表示的是应用程序开发时期望应用程序在不同版本的Android操作系统上运行的表现,应该与该应用程序设置的targetSdkVersion对应的Android操作系统版本上运行的表现是一致的,即每个targetSdkVersion与Android操作系统版本具有映射关系。例如,假设targetSdkVersion为30对应的操作系统版本是Android R,targetSdkVersion为29对应的是操作系统版本是Android Q,targetSdkVersion为28对应的操作系统版本是Android P,如果某个应用程序A的targetSdkVersion设置为特定的版本(此处举例设置为28,28对应的操作系统版本为Android P),那么该应用程序A即使安装在更高版本的Android系统(例如安装在Android R的智能手机上,Android R对应的targetSdkVersion为30)上,出于用户体验和应用程序兼容的目的,其在更高版本Android操作系统(Android R)上的行为也应该和该应用程序A在targetSdkVersion指定的Android操作系统版本(Android P上的行为)上的表现行为相同。即targetSdkVersion是Android提供向前兼容的主要依据。随着Android系统的升级,更新后系统的API(Application Programming Interface,应用程序接口)或者模块的行为可能会发生变化,但是为了保证老版本的应用程序的行为还是和以前版本Android系统相兼容,只要targetSdkVersion不变,即使该应用程序安装在新版本Android系统上,其行为还是保持老版本操作系统上的行为,这样就保证了系统对老版本应用的前向兼容。
具体的,智能手机响应于目标应用程序的安装指令,判断目标应用程序是否为当前智能手机中已安装历史版本的应用程序之后,若目标应用程序是当前电子设备中已安装历史版本的应用程序,则智能手机将目标应用程序对应的第一目标API级别与已安装历史版本的应用程序对应的第二目标API级别进行比较,即智能手机可以分别获取到目标应用程序对应的targetSdkVersion 1以及获取到已安装历史版本的应用程序对应的targetSdkVersion 2,假设智能手机获取到的目标应用程序对应的targetSdkVersion 1为28,即第一目标API级别为28,同时智能手机获取到的已安装历史版本的应用程序对应的targetSdkVersion 2为29,即第二目标API级别为29,智能手机可以将获取到的第一目标API级别(28)与第二目标API级别(29)进行比较,得到对应的比较结果。
步骤206,若第一目标API级别小于第二目标API级别,则展示风险提示信息,风险提示信息用于指示用户选择是否继续安装目标应用程序。
若目标应用程序是当前电子设备中已安装历史版本的应用程序,则电子设备将目标应用程序对应的第一目标API级别与已安装历史版本的应用程序对应的第二目标API级别进行比较之后,若第一目标API级别小于第二目标API级别,则电子设备展示风险提示信息,风险提示信息用于指示用户选择是否继续安装目标应用程序。其中,风险提示信息是指提示用户该操作存在安全性等风险的提示信息,以便用户可以根据风险提示信息选择是否继续执行当前操作。
以电子设备为安卓操作系统的智能手机为例进行说明。若目标应用程序是当前智能手机中已安装历史版本的应用程序,则智能手机将目标应用程序对应的第一目标API级别与已安装历史版本的应用程序对应的第二目标API级别进行比较,假设智能手机获取到目标应用程序对应的targetSdkVersion为28,即第一目标API级别为28,同时智能手机获取到已安装历史版本的应用程序对应的targetSdkVersion为29,即第二目标API级别为29,智能手机可以将获取到的第一目标API级别(28)与第二目标API级别(29)进行比较,由于28小于29,即第一目标API级别(28)小于第二目标API级别(29),则智能手机可以以弹窗的方式展示风险提示信息,风险提示信息用于指示用户选择是否继续安装目标应用程序。
可以理解的是,展示风险提示信息的方式包括但不限于弹窗的方式,还可以为全屏展示等其他展示方式,对其展示方式不做限定。
传统的应用程序的安装方式中,多数应用商店尚未对上架的应用程序的targetSdkVersion提出要求,只有部分应用商店对上架的应用程序提出了要求,例如谷歌商店(Google Play)在应用程序上架时会对应用程序的targetSdkVersion进行要求,如果应用的targetSdkVersion不符合要求则不允许上架。但在互联网时代应用程序不通过手机内置的应用商店进行分发,也可以通过其他渠道将应用程序分发给用户。因此即使在应用程序上架时进行targetSdkVersion的限制,仍然存在较大漏洞,容易导致覆盖率不足的问题,使得一部分应用程序可能出现对操作系统新增安全特性的绕过行为,从而产生安全和隐私保护特性失效的问题。
本实施例中的应用程序的安装方法,通过响应于目标应用程序的安装指令,判断目标应用程序是否为当前电子设备中已安装历史版本的应用程序,若目标应用程序是当前电子设备中已安装历史版本的应用程序,则将目标应用程序对应的第一目标API级别与已安装历史版本的应用程序对应的第二目标API级别进行比较,若第一目标API级别小于第二目标API级别,则展示风险提示信息,风险提示信息用于指示用户选择是否继续安装目标应用程序。由此使得,通过在应用程序安装时检测targetSdkVersion即目标API级别,有效提升targetSdkVersion检测的覆盖面,能够弥补仅在应用程序上架时进行检测,而导致覆盖率不足的问题。同时也能够有效防止应用程序通过降低targetSdkVersion进行安全特性的绕过行为,提升用户的安全感知体验,增强产品竞争力。
在一个实施例中,如图3所示,判断目标应用程序是否为当前电子设备中已安装历史版本的应用程序之后,该方法还包括若目标应用程序不是当前电子设备中已安装历史版本的应用程序的步骤,具体包括:
步骤302,若目标应用程序不是当前电子设备中已安装历史版本的应用程序,则判断目标应用程序对应的第一目标API级别是否满足预设目标API级别的阈值条件。
步骤304,若不满足,则展示风险提示信息,并拒绝安装目标应用程序。
电子设备响应于目标应用程序的安装指令,判断目标应用程序是否为当前电子设备中已安装历史版本的应用程序之后,若目标应用程序不是当前电子设备中已安装历史版本的应用程序,则电子设备判断目标应用程序对应的第一目标API级别是否满足预设目标API级别的阈值条件。若不满足,则电子设备展示风险提示信息,并拒绝安装目标应用程序。其中,预设目标API级别的阈值条件是指预先设置的当前电子设备操作系统中对应的目标API级别的阈值条件。
以电子设备为安卓操作系统的智能手机为例进行说明。智能手机响应于用户触发的目标应用程序的安装指令,判断目标应用程序是否为当前电子设备中已安装历史版本的应用程序,即检查的流程发生在用户进行应用程序安装时,在应用程序进行安装时,智能手机系统首先会检查是否为对目标应用程序进行应用升级的操作,如果执行的安装操作不是对目标应用程序的应用升级操作,即目标应用程序不是当前电子设备中已安装历史版本的应用程序,则智能手机直接检查目标应用程序的目标API级别(即targetSdkVersion)是否满足预设目标API级别的阈值条件,假设预设目标API级别的阈值条件为大于或等于23,则智能手机判断目标应用程序的targetSdkVersion版本是否低于23,如果目标应用程序的targetSdkVersion低于23会使运行权限申请失效,存在极大风险,因此targetSdkVersion为23可作为最低的targetSdkVersion要求。如果目标应用程序的targetSdkVersion低于23,则弹出风险提示并拒绝安装该目标应用程序。
本实施例中,假设Android系统在Android M上新增了运行时权限模型,该模型需要应用程序在运行过程中显式的向用户申请权限,属于用户强感知的。而在Android M之前版本的操作系统中,应用程序只需要声明所需要的权限,操作系统就会在应用程序安装的过程中,赋予所有声明的权限,而无需在运行过程中显式的向用户申请权限,用户无法进行控制。假设Android M的targetSdkVersion为23,因此targetSdkVersion为23可作为最低的targetSdkVersion要求,即可以预先将targetSdkVersion为23设置为预设targetSdkVersion的阈值条件,如果智能手机检测到目标应用程序的targetSdkVersion为22,那么即使该目标应用程序安装在Android M操作系统以及Android M之后的系统中,运行时权限模型也是不生效的,因此需要根据安全特性要求设置对应的targetSdkVersion的阈值条件。
可以理解的是,本实施例中预设targetSdkVersion的阈值条件包括但不限于设置为23,可以根据不断更新的操作系统的功能特性,选取最佳的targetSdkVersion作为预设targetSdkVersion的阈值条件,对预设targetSdkVersion的阈值条件不做限定。
本实施中,通过在应用程序安装时检测targetSdkVersion,并检测待安装应用程序的targetSdkVersion是否匹配当前操作系统的运行条件,从而能够有效防止应用通过降低targetSdkVersion进行安全特性的绕过行为,以保证安全和隐私保护特性生效。
在其中一个实施例中,预设目标API级别的阈值条件为应用程序的运行权限申请生效所对应的目标API级别。其中,权限申请信息是指在应用程序运行过程中弹框申请权限,权限申请信息包括应用程序的功能信息及权限信息。以电子设备为安卓操作系统的智能手机为例进行说明。Android系统每年会有一个大版本进行迭代,随着系统版本更新会出现很多的新特性,如果应用开发者无法很快的适配新版本Android系统的特性,应用开发者可以通过使用旧版本Android系统对应的targetSdkVersion,使应用程序能够在新版本的Android系统上继续运行,只是运行的行为会和应用程序开发时设置的targetSdkVersion对应的Android系统版本的行为相同。
例如,在Android M(targetSdkVersion为23)上引入了运行时权限模型,即应用程序的运行权限申请模型,那么为了防止应用程序出现对操作系统安全特性(即运行时权限模型)的绕过行为,以保证安全和隐私保护特性生效,则可以预先将加入了运行时权限模型的Android M系统对应的targetSdkVersion 23设置为预设目标API级别的阈值条件。即如果应用程序设置了targetSdkVersion为23,那么应用程序需要适配该模型,需要在应用程序运行过程中弹框申请权限;而如果应用开发者无法适配或者处于绕过该特性的目的,将targetSdkVersion设置为22或者更低(targetSdkVersion为22时对应的Android L,Android L上没有运行时权限模型,应用申请的所有权限是在安装的时候就会默认授予,无需在运行过程弹框申请权限),那么该应用程序即使安装在Android M及后续的Android系统版本上,系统都会在应用程序安装时将权限授予应用,而无需应用在运行时主动申请,因而可能会出现部分应用程序对操作系统新增安全特性的绕过行为,从而产生安全和隐私保护特性失效的问题。
在一个实施例中,如图4所示,判断目标应用程序对应的第一目标API级别是否满足预设目标API级别的阈值条件之后,该方法还包括若目标应用程序对应的第一目标API级别满足预设目标API级别的阈值条件的步骤,具体包括:
步骤402,若满足,则将目标应用程序对应的第一目标API级别与当前电子设备对应的操作系统版本所对应的第三目标API级别进行比较,得到对应的比较结果。
步骤404,若比较结果不满足预设比较结果的阈值条件,则展示风险提示信息,风险提示信息用于指示用户选择是否继续安装目标应用程序。
步骤406,若比较结果满足预设比较结果的阈值条件,则执行安装流程。
电子设备响应于目标应用程序的安装指令,判断目标应用程序是否为当前电子设备中已安装历史版本的应用程序之后,若目标应用程序不是当前电子设备中已安装历史版本的应用程序,则电子设备判断目标应用程序对应的第一目标API级别是否满足预设目标API级别的阈值条件。若目标应用程序对应的第一目标API级别满足预设目标API级别的阈值条件,则电子设备将目标应用程序对应的第一目标API级别与当前电子设备对应的操作系统版本所对应的第三目标API级别进行比较,得到对应的比较结果。若比较结果不满足预设比较结果的阈值条件,则电子设备展示风险提示信息,风险提示信息用于指示用户选择是否继续安装目标应用程序。若比较结果满足预设比较结果的阈值条件,则电子设备执行安装流程。其中,操作系统版本与目标API级别具有映射关系,例如,
Android 7.0对应的目标API级别为24,Android 6.0对应的目标API级别为23,Android 5.1对应的目标API级别为22。
以电子设备为安卓操作系统的智能手机为例进行说明。智能手机响应于目标应用程序的安装指令,判断目标应用程序是否为当前智能手机中已安装历史版本的应用程序之后,若目标应用程序不是当前智能手机中已安装历史版本的应用程序,则智能手机判断目标应用程序对应的第一目标API级别23是否满足预设目标API级别的阈值条件(不低于23)。若目标应用程序对应的第一目标API级别23满足预设目标API级别的阈值条件,则智能手机将目标应用程序对应的第一目标API级别23与当前智能手机对应的操作系统版本所对应的第三目标API级别进行比较,得到对应的比较结果。
假设当前智能手机对应的操作系统版本为Android 7.0,则根据操作系统版本与目标API级别具有映射关系,可以得到操作系统版本为Android 7.0所对应的第三目标API级别为24,即智能手机将目标应用程序对应的第一目标API级别23与当前智能手机对应的操作系统版本所对应的第三目标API级别24进行比较,得到对应的比较结果。若比较结果不满足预设比较结果的阈值条件,则智能手机展示风险提示信息,风险提示信息用于指示用户选择是否继续安装目标应用程序。若比较结果满足预设比较结果的阈值条件,则智能手机执行安装流程。由此使得,若检测待安装应用程序满足预设最低的targetSdkVersion要求时,通过进一步将待安装应用程序的targetSdkVersion与当前操作系统所对应的targetSdkVersion进行比较,以判断待安装应用程序是否匹配当前操作系统的运行条件,从而能够有效防止应用程序对操作系统新增安全特性的绕过行为,从而产生安全和隐私保护特性失效的问题。
在其中一个实施例中,将目标应用程序对应的第一目标API级别与当前电子设备对应的操作系统版本所对应的第三目标API级别进行比较,得到对应的比较结果的步骤,包括:
获取当前电子设备对应的操作系统版本以及所对应的第三目标API级别;其中,操作系统版本与第三目标API级别具有映射关系。
将第三目标API级别与第一目标API级别进行差值计算,得到对应的差值结果;其中,第一目标API级别小于或等于第三目标API级别。
以电子设备为安卓操作系统的智能手机为例进行说明。智能手机响应于目标应用程序的安装指令,判断目标应用程序是否为当前智能手机中已安装历史版本的应用程序之后,若目标应用程序不是当前智能手机中已安装历史版本的应用程序,则智能手机判断目标应用程序对应的第一目标API级别23是否满足预设目标API级别的阈值条件(不低于23)。若目标应用程序对应的第一目标API级别23满足预设目标API级别的阈值条件,则智能手机将目标应用程序对应的第一目标API级别23与当前智能手机对应的操作系统版本所对应的第三目标API级别进行比较,得到对应的比较结果。
假设当前智能手机对应的操作系统版本为Android 7.0,则根据操作系统版本与目标API级别具有映射关系,可以得到操作系统版本为Android 7.0所对应的第三目标API级别为24,即智能手机将当前智能手机对应的操作系统版本所对应的第三目标API级别24与目标应用程序对应的第一目标API级别23进行差值计算,得到对应的差值结果为1(即24-23=1)。其中,第一目标API级别小于或等于第三目标API级别是指应用程序所对应的targetSdkVersion是小于或等于Android操作系统所对应的targetSdkVersion,因为Android系统每年会有一个大版本进行迭代,随着系统版本更新会出现很多的新特性,应用程序所对应的targetSdkVersion是随着Android操作系统的迭代而不断更新的,应用开发者为了适配新版本Android系统的特性,应用开发者才需要对应用程序所对应的targetSdkVersion进行不断的更新。正常情况下是不会出现应用程序所对应的targetSdkVersion是高于或者大于Android操作系统所对应的targetSdkVersion的。
本实施例中,通过将当前智能手机操作系统版本所对应的目标API级别与待安装应用程序对应的目标API级别进行差值计算,得到对应的差值结果,并将差值结果与预设的差值阈值进行比对,能够对待安装应用程序的目标API级别进行精准的筛查,能够有效防止应用程序通过降低目标API级别进行安全特性的绕过行为,同时提升用户的安全感知体验,增强产品竞争力。
在其中一个实施例中,将第三目标API级别与第一目标API级别进行差值计算,得到对应的差值结果之后,该方法还包括将差值结果与预设的差值阈值进行比较的步骤,具体包括:
将差值结果与预设的差值阈值进行比较。
若差值结果大于预设的差值阈值,则展示风险提示信息,风险提示信息用于指示用户选择是否继续安装目标应用程序。
若差值结果小于或等于预设的差值阈值,则执行安装流程。
以电子设备为安卓操作系统的智能手机为例进行说明。智能手机将当前智能手机对应的操作系统版本所对应的第三目标API级别24与目标应用程序对应的第一目标API级别23进行差值计算,得到对应的差值结果为1(即24-23=1)之后,智能手机将差值结果与预设的差值阈值进行比较,假设预设的差值阈值为2,当前计算得到的差值结果(1)小于预设的差值阈值(2),则执行安装流程,即智能手机对该目标应用程序执行对应的安装流程。若差值结果大于预设的差值阈值,则智能手机展示风险提示信息,风险提示信息用于指示用户选择是否继续安装目标应用程序。由此,通过将当前智能手机操作系统版本所对应的目标API级别与待安装应用程序对应的目标API级别进行差值计算,得到对应的差值结果,并将差值结果与预设的差值阈值进行比对,能够对待安装应用程序的目标API级别进行精准的筛查,只有当待安装应用程序的目标API级别符合当前操作系统的运行条件时,才允许执行安装流程,以保证操作系统安全和隐私保护特性等新增功能生效。
在一个实施例中,将目标应用程序对应的第一目标API级别与已安装历史版本的应用程序对应的第二目标API级别进行比较的步骤,包括:
获取当前电子设备中已安装历史版本的应用程序对应的应用程序包,应用程序包中包括对应的配置文件。
获取配置文件中的第二目标API级别信息,并将第二目标API级别信息与目标应用程序对应的第一目标API级别信息进行比较。
电子设备响应于目标应用程序的安装指令,判断目标应用程序是否为当前电子设备中已安装历史版本的应用程序之后,若目标应用程序是当前电子设备中已安装历史版本的应用程序,则电子设备将目标应用程序对应的第一目标API级别与已安装历史版本的应用程序对应的第二目标API级别进行比较。具体的,电子设备可以获取当前电子设备中已安装历史版本的应用程序对应的应用程序包A,应用程序包1中包括对应的配置文件A。电子设备获取配置文件A中的第二目标API级别信息,并将第二目标API级别信息与目标应用程序对应的第一目标API级别信息进行比较。其中,应用程序包是指Android applicationpackage,Android应用程序包,targetSdkVersion会标注在应用程序包的配置文件中,因此在应用升级过程中,电子设备会查找到系统中对应的应用程序包,获取其配置文件中的targetSdkVersion信息,并和待安装应用程序包的配置文件中的targetSdkVersion信息进行对比即可判断是否存在安装风险。由此,通过在应用程序安装时,检查待安装应用程序的targetSdkVersion是否大于或者等于系统中已安装历史版本的待升级应用的targetSdkVersion,能够快速识别出是否存在安装风险,以保证操作系统安全和隐私保护特性等新增功能生效。
在一个实施例中,将目标应用程序对应的第一目标API级别与已安装历史版本的应用程序对应的第二目标API级别进行比较之后,该方法还包括若第一目标API级别大于或等于第二目标API级别的步骤,具体包括:
若第一目标API级别大于或等于第二目标API级别,则执行安装流程。
电子设备响应于目标应用程序的安装指令,判断目标应用程序是否为当前电子设备中已安装历史版本的应用程序之后,若目标应用程序是当前电子设备中已安装历史版本的应用程序,则电子设备将目标应用程序对应的第一目标API级别与已安装历史版本的应用程序对应的第二目标API级别进行比较。若第一目标API级别大于或等于第二目标API级别,则执行安装流程。由此,通过在应用程序安装时检测targetSdkVersion即目标API级别,有效提升targetSdkVersion检测的覆盖面,能够弥补仅在应用程序上架时进行检测,而导致覆盖率不足的问题。同时也能够有效防止应用程序通过降低targetSdkVersion进行安全特性的绕过行为,只有当待安装应用程序的targetSdkVersion符合预设条件时,才允许执行安装流程,以保证操作系统安全和隐私保护特性等新增功能生效。
在一个实施例中,以电子设备为安卓操作系统的智能手机为例进行说明。随着Android系统的升级,系统中添加的安全和隐私保护的功能也越来越多,但是这些新添加的功能需要相应的targetSdkVersion版本支持,如果应用程序没有将targetSdkVersion设置为对应的版本,这些安全和隐私保护功能则不会生效。因此有部分应用程序的targetSdkVersion设置为比较低的版本,即可绕过新版本Android系统的安全和隐私保护特性。
本实施例中,如图5所示,为安卓操作系统的智能手机在应用程序进行安装时的逻辑处理示意图。检查的流程发生在用户通过触发操作进行应用程序安装时,在应用程序进行安装时,智能手机系统首先会检查当前的安装操作是否为对目标应用程序进行的应用升级操作,如果是对目标应用程序进行应用升级的操作,则智能手机进一步判断目标应用程序(即待安装的应用程序)的targetSdkVersion是否大于或者等于当前智能手机系统中已安装历史版本应用程序(即待升级应用程序)的targetSdkVersion。如果待安装应用程序的targetSdkVersion低于系统中已安装历史版本应用程序(即待升级应用程序)的targetSdkVersion,则弹出相应的风险提示语,提醒用户可能存在的风险,供用户选择是否继续进行安装。如果待安装应用程序的targetSdkVersion大于或者等于系统中待升级应用程序的targetSdkVersion,则执行正常的安装流程,即对当前智能手机系统中已安装历史版本应用程序进行升级操作。
此外,在应用程序进行安装时,智能手机系统会检查当前的安装操作是否为对目标应用程序进行应用升级的操作,如果执行的安装操作不是对目标应用程序进行应用升级的操作,则智能手机检查该目标应用程序的targetSdkVersion版本是否低于23,如果目标应用程序的targetSdkVersion低于23会使运行权限申请失效,存在极大风险,因此,本实施例中将targetSdkVersion为23作为最低的targetSdkVersion要求。如果检测到目标应用程序的targetSdkVersion低于23,则弹出风险提示信息并拒绝安装该目标应用程序。
如果目标应用程序的targetSdkVersion不低于23,则智能手机进一步将待安装应用程序的targetSdkVersion与当前智能手机操作系统所对应的targetSdkVersion进行差值计算,如果待安装应用程序的targetSdkVersion低于该智能手机当前Android操作系统对应的targetSdkVersion的两个版本,则弹出相应的风险提示语,提醒用户可能存在的风险,供用户进行选择是否继续进行安装。如果待安装应用程序的targetSdkVersion不低于该智能手机当前Android操作系统对应的targetSdkVersion的两个版本,则直接执行正常的安装流程。其中,两个版本是指预先自定义设置的差值阈值为2。例如,如果当前智能手机的版本是Android R,Android R对应的targetSdkVersion为30,低于当前Android系统对应targetSdkVersion两个版本就是指应用程序的targetSdkVersion应低于28(30-2=28),即targetSdkVersion为27及以下,根据操作系统版本与targetSdkVersion之间的映射关系,targetSdkVersion27对应的Android系统版本可以为Android O_MR1。
此外,本实施例中的方案,除了适用于检测targetSdkVersion信息,同样也适用于对应用程序的minSdkVersion进行检测和限制,minSdkVersion即android:minSdkVersion指定能够运行应用的最低API级别。
相较于传统应用程序的安装方式中,在进行应用程序安装时,智能手机不会检查新旧应用程序包中的targetSdkVersion的信息,而本实施例中,通过在应用安装时检测targetSdkVersion,能够有效防止应用通过降低targetSdkVersion进行安全特性的绕过行为,即由于targetSdkVersion不符合当前操作系统所对应的运行条件,则无法使用新版本(安卓系统)操作系统的部分新增功能,尤其是使得新增功能中与安全和隐私保护特性相关的特性无法生效,因此,需要在应用安装时检测targetSdkVersion,以保证操作系统中新增的安全和隐私保护特性生效。
应该理解的是,虽然图1-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图6为一个实施例的应用程序的安装装置的结构框图。如图6所示,提供了一种应用程序的安装装置,包括:判断模块602、比较模块604和展示模块606,其中:
判断模块602,用于响应于目标应用程序的安装指令,判断目标应用程序是否为当前电子设备中已安装历史版本的应用程序。
比较模块604,用于若判断目标应用程序是当前电子设备中已安装历史版本的应用程序,则将目标应用程序对应的第一目标API级别与已安装历史版本的应用程序对应的第二目标API级别进行比较。
展示模块606,用于若第一目标API级别小于第二目标API级别,则展示风险提示信息,风险提示信息用于指示用户选择是否继续安装目标应用程序。
在一个实施例中,判断模块还用于若目标应用程序不是当前电子设备中已安装历史版本的应用程序,则判断目标应用程序对应的第一目标API级别是否满足预设目标API级别的阈值条件。展示模块还用于若不满足,则展示风险提示信息,并拒绝安装目标应用程序。
在一个实施例中,该装置还包括:比较模块和执行模块。
比较模块用于若满足,则将目标应用程序对应的第一目标API级别与当前电子设备对应的操作系统版本所对应的第三目标API级别进行比较,得到对应的比较结果。展示模块还用于若比较结果不满足预设比较结果的阈值条件,则展示风险提示信息,风险提示信息用于指示用户选择是否继续安装目标应用程序。执行模块用于若比较结果满足预设比较结果的阈值条件,则执行安装流程。
在一个实施例中,该装置还包括:获取模块和计算模块。
获取模块用于获取当前电子设备对应的操作系统版本以及所对应的第三目标API级别,其中,操作系统版本与第三目标API级别具有映射关系。计算模块用于将第三目标API级别与第一目标API级别进行差值计算,得到对应的差值结果,其中,第一目标API级别小于或等于第三目标API级别。
在一个实施例中,比较模块还用于将差值结果与预设的差值阈值进行比较。展示模块还用于若差值结果大于预设的差值阈值,则展示风险提示信息,风险提示信息用于指示用户选择是否继续安装目标应用程序。执行模块还用于若差值结果小于或等于预设的差值阈值,则执行安装流程。
在一个实施例中,获取模块还用于获取当前电子设备中已安装历史版本的应用程序对应的应用程序包,应用程序包中包括对应的配置文件;获取配置文件中的第二目标API级别信息。比较模块还用于将第二目标API级别信息与目标应用程序对应的第一目标API级别信息进行比较。
在一个实施例中,执行模块还用于若第一目标API级别大于或等于第二目标API级别,则执行安装流程。
上述应用程序的安装装置中各个模块的划分仅仅用于举例说明,在其他实施例中,可将应用程序的安装装置按照需要划分为不同的模块,以完成上述应用程序的安装装置的全部或部分功能。
关于应用程序的安装装置的具体限定可以参见上文中对于应用程序的安装方法的限定,在此不再赘述。上述应用程序的安装装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图7为一个实施例中电子设备的内部结构示意图。该电子设备可以是手机、平板电脑、笔记本电脑、台式电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Pointof Sales,销售终端)、车载电脑、穿戴式设备等任意终端设备。该电子设备包括通过系统总线连接的处理器和存储器。其中,该处理器可以包括一个或多个处理单元。处理器可为CPU(Central Processing Unit,中央处理单元)或DSP(Digital Signal Processing,数字信号处理器)等。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种应用程序的安装方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。
本申请实施例中提供的应用程序的安装装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在电子设备的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行应用程序的安装方法的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行应用程序的安装方法。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括ROM(Read-Only Memory,只读存储器)、PROM(Programmable Read-only Memory,可编程只读存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-only Memory,电可擦除可编程只读存储器)或闪存。易失性存储器可包括RAM(Random Access Memory,随机存取存储器),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如SRAM(Static RandomAccess Memory,静态随机存取存储器)、DRAM(Dynamic RandomAccess Memory,动态随机存取存储器)、SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存取存储器)、双数据率DDRSDRAM(Double Data Rate Synchronous Dynamic Random Access memory,双数据率同步动态随机存取存储器)、ESDRAM(Enhanced Synchronous Dynamic Random Access memory,增强型同步动态随机存取存储器)、SLDRAM(Sync Link Dynamic Random Access Memory,同步链路动态随机存取存储器)、RDRAM(Rambus Dynamic Random Access Memory,总线式动态随机存储器)、DRDRAM(Direct Rambus Dynamic Random Access Memory,接口动态随机存储器)。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (11)

1.一种应用程序的安装方法,其特征在于,应用于电子设备,包括:
响应于目标应用程序的安装指令,识别所述目标应用程序的版本信息或者应用程序包的标识信息,根据所述版本信息或者所述应用程序包的标识信息,判断所述目标应用程序是否为当前电子设备中已安装历史版本的应用程序;
若所述目标应用程序不是当前电子设备中已安装历史版本的应用程序,则判断所述目标应用程序对应的第一目标API级别是否满足预设目标API级别的阈值条件;若满足,则将所述目标应用程序对应的第一目标API级别与当前电子设备对应的操作系统版本所对应的第三目标API级别进行比较,得到对应的比较结果;若所述比较结果满足预设比较结果的阈值条件,则执行安装流程;
若所述目标应用程序是当前电子设备中已安装历史版本的应用程序,则将所述目标应用程序对应的第一目标API级别与所述已安装历史版本的应用程序对应的第二目标API级别进行比较;
若所述第一目标API级别小于所述第二目标API级别,则展示风险提示信息,所述风险提示信息用于指示用户选择是否继续安装所述目标应用程序。
2.根据权利要求1所述的方法,其特征在于,所述判断所述目标应用程序对应的第一目标API级别是否满足预设目标API级别的阈值条件之后,还包括:
若不满足,则展示风险提示信息,并拒绝安装所述目标应用程序。
3.根据权利要求1所述的方法,其特征在于,所述预设目标API级别的阈值条件为应用程序的运行权限申请生效所对应的目标API级别。
4.根据权利要求1所述的方法,其特征在于,所述将所述目标应用程序对应的第一目标API级别与当前电子设备对应的操作系统版本所对应的第三目标API级别进行比较,得到对应的比较结果之后,还包括:
若所述比较结果不满足预设比较结果的阈值条件,则展示风险提示信息,所述风险提示信息用于指示用户选择是否继续安装所述目标应用程序。
5.根据权利要求1所述的方法,其特征在于,所述将所述目标应用程序对应的第一目标API级别与当前电子设备对应的操作系统版本所对应的第三目标API级别进行比较,得到对应的比较结果包括:
获取当前电子设备对应的操作系统版本以及所对应的第三目标API级别;其中,所述操作系统版本与所述第三目标API级别具有映射关系;
将所述第三目标API级别与所述第一目标API级别进行差值计算,得到对应的差值结果;其中,所述第一目标API级别小于或等于所述第三目标API级别。
6.根据权利要求5所述的方法,其特征在于,所述将所述第三目标API级别与所述第一目标API级别进行差值计算,得到对应的差值结果之后,还包括:
将所述差值结果与预设的差值阈值进行比较;
若所述差值结果大于预设的差值阈值,则展示风险提示信息,所述风险提示信息用于指示用户选择是否继续安装所述目标应用程序;
若所述差值结果小于或等于预设的差值阈值,则执行安装流程。
7.根据权利要求1所述的方法,其特征在于,所述将所述目标应用程序对应的第一目标API级别与所述已安装历史版本的应用程序对应的第二目标API级别进行比较,包括:
获取当前电子设备中所述已安装历史版本的应用程序对应的应用程序包,所述应用程序包中包括对应的配置文件;
获取所述配置文件中的所述第二目标API级别信息,并将所述第二目标API级别信息与所述目标应用程序对应的第一目标API级别信息进行比较。
8.根据权利要求1所述的方法,其特征在于,所述将所述目标应用程序对应的第一目标API级别与所述已安装历史版本的应用程序对应的第二目标API级别进行比较之后,所述方法还包括:
若所述第一目标API级别大于或等于所述第二目标API级别,则执行安装流程。
9.一种应用程序的安装装置,其特征在于,包括:
判断模块,用于响应于目标应用程序的安装指令,识别所述目标应用程序的版本信息或者应用程序包的标识信息,根据所述版本信息或者所述应用程序包的标识信息,判断所述目标应用程序是否为当前电子设备中已安装历史版本的应用程序;若所述目标应用程序不是当前电子设备中已安装历史版本的应用程序,则判断所述目标应用程序对应的第一目标API级别是否满足预设目标API级别的阈值条件;
比较模块,用于若满足,则将所述目标应用程序对应的第一目标API级别与当前电子设备对应的操作系统版本所对应的第三目标API级别进行比较,得到对应的比较结果;
执行模块,用于若所述比较结果满足预设比较结果的阈值条件,则执行安装流程;
所述比较模块还用于若判断所述目标应用程序是当前电子设备中已安装历史版本的应用程序,则将所述目标应用程序对应的第一目标API级别与所述已安装历史版本的应用程序对应的第二目标API级别进行比较;
展示模块,用于若所述第一目标API级别小于所述第二目标API级别,则展示风险提示信息,所述风险提示信息用于指示用户选择是否继续安装所述目标应用程序。
10.一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,其特征在于,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述的应用程序的安装方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的方法的步骤。
CN202110684958.7A 2021-06-21 2021-06-21 应用程序的安装方法、装置、电子设备和存储介质 Active CN113296799B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110684958.7A CN113296799B (zh) 2021-06-21 2021-06-21 应用程序的安装方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110684958.7A CN113296799B (zh) 2021-06-21 2021-06-21 应用程序的安装方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN113296799A CN113296799A (zh) 2021-08-24
CN113296799B true CN113296799B (zh) 2024-06-07

Family

ID=77328909

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110684958.7A Active CN113296799B (zh) 2021-06-21 2021-06-21 应用程序的安装方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN113296799B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114329595B (zh) * 2021-12-29 2023-12-19 北京荣耀终端有限公司 应用程序的检测方法、设备、存储介质和程序产品

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854624A (zh) * 2009-04-02 2010-10-06 联芯科技有限公司 移动终端的动态加载软件验证方法、监控方法和装置
CN106155753A (zh) * 2016-08-22 2016-11-23 广东欧珀移动通信有限公司 一种应用程序安装方法、装置和终端
CN109710265A (zh) * 2018-12-28 2019-05-03 北京金山安全软件有限公司 一种软件安装包的获取方法、装置及电子设备
CN112199099A (zh) * 2020-10-19 2021-01-08 深圳市欢太科技有限公司 应用更新方法、装置、服务器及存储介质
CN112270014A (zh) * 2020-10-16 2021-01-26 维沃移动通信有限公司 应用程序控制方法、装置及电子设备
CN112783542A (zh) * 2021-02-04 2021-05-11 华东交通大学 软件升级方法、装置及可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101385162B1 (ko) * 2007-09-10 2014-04-15 삼성전자주식회사 전자장치 및 그의 프로그램 다운로드 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854624A (zh) * 2009-04-02 2010-10-06 联芯科技有限公司 移动终端的动态加载软件验证方法、监控方法和装置
CN106155753A (zh) * 2016-08-22 2016-11-23 广东欧珀移动通信有限公司 一种应用程序安装方法、装置和终端
CN109710265A (zh) * 2018-12-28 2019-05-03 北京金山安全软件有限公司 一种软件安装包的获取方法、装置及电子设备
CN112270014A (zh) * 2020-10-16 2021-01-26 维沃移动通信有限公司 应用程序控制方法、装置及电子设备
CN112199099A (zh) * 2020-10-19 2021-01-08 深圳市欢太科技有限公司 应用更新方法、装置、服务器及存储介质
CN112783542A (zh) * 2021-02-04 2021-05-11 华东交通大学 软件升级方法、装置及可读存储介质

Also Published As

Publication number Publication date
CN113296799A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
US10284591B2 (en) Detecting and preventing execution of software exploits
CN108829477B (zh) 界面跳转方法、装置、计算机设备和存储介质
TWI640923B (zh) Application processing method and device
US20160232374A1 (en) Permission control method and apparatus
US11714663B2 (en) Application environment that implements native code functionality in progressive web applications
KR101803890B1 (ko) 분석 회피형 악성 앱 탐지 방법 및 장치
KR20160120733A (ko) 데이터 프록시 서비스 기법
US9189300B2 (en) Dynamic service discovery
CN109522500B (zh) 网页显示方法、装置、终端和存储介质
EP3682328B1 (en) Alternative service pathway for service application
CN111428241B (zh) 一种多安全访问策略控制方法及计算设备
WO2016119548A1 (zh) 防软件反编译的方法、防反编译软件启动的方法和装置
CN113296799B (zh) 应用程序的安装方法、装置、电子设备和存储介质
US10761863B2 (en) Mobile application management by run-time insertion of a replacement instrumentation object into a mobile application process
WO2020006911A1 (zh) 混合型应用的接口调用方法、装置及计算机可读存储介质
CN106293790B (zh) 基于Firefox操作系统的应用程序升级方法和装置
WO2017024519A1 (zh) 智能终端系统启动方法、装置及智能终端
US20170255792A1 (en) Method and apparatus for protecting privacy in consideration of application usage pattern
US10063558B2 (en) Method for blocking unauthorized data access and computing device with feature of blocking unauthorized data access
CN110363011B (zh) 用于验证基于uefi的bios的安全性的方法和设备
US9904543B2 (en) Setting a build indicator to enable or disable a feature
CN109840113B (zh) 一种应用数据处理方法及其设备、存储介质、终端
US20140298456A1 (en) Securing applications for computing devices
CN113641987B (zh) 应用静默安装的拦截方法、装置和计算机设备
CN106203087B (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