CN109145591B - 应用程序的插件加载方法 - Google Patents

应用程序的插件加载方法 Download PDF

Info

Publication number
CN109145591B
CN109145591B CN201811051178.3A CN201811051178A CN109145591B CN 109145591 B CN109145591 B CN 109145591B CN 201811051178 A CN201811051178 A CN 201811051178A CN 109145591 B CN109145591 B CN 109145591B
Authority
CN
China
Prior art keywords
application
application program
installation
installation path
plug
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
CN201811051178.3A
Other languages
English (en)
Other versions
CN109145591A (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.)
Shanghai Lianshang Network Technology Co Ltd
Original Assignee
Shanghai Lianshang Network Technology Co 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 Shanghai Lianshang Network Technology Co Ltd filed Critical Shanghai Lianshang Network Technology Co Ltd
Priority to CN201811051178.3A priority Critical patent/CN109145591B/zh
Publication of CN109145591A publication Critical patent/CN109145591A/zh
Application granted granted Critical
Publication of CN109145591B publication Critical patent/CN109145591B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

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

Abstract

本申请实施例公开了应用程序的插件加载方法。该方法应用于终端设备,该方法的一具体实施方式包括:获取应用程序的安装路径;基于应用程序的安装路径,确定应用程序是否满足预设条件;响应于确定出应用程序满足预设条件,在应用程序中加载插件。该实施方式提高了插件加载的安全性。

Description

应用程序的插件加载方法
技术领域
本申请实施例涉及计算机技术领域,具体涉及应用程序的插件加载方法。
背景技术
现有的应用程序通常都支持插件化的开发。也就是说应用程序本身可以作为一个宿主为插件提供基本的框架。而每个插件可以作为一个独立的安装包进行开发,只要符合宿主的模型规范,宿主就可以将这个独立的安装包以插件的形式加载到宿主应用程序中。
为了防止非法或伪装的宿主应用程序加载插件,在插件在加载到应用程序之前,通常需要对加载插件的应用程序进行验证。因此,如何保证加载插件的应用程序是该插件的真正宿主,这是个需要解决的安全问题。
发明内容
本申请实施例提出了应用程序的插件加载方法。
第一方面,本申请实施例提供了一种应用程序的插件加载方法,应用于终端设备,该方法包括:获取应用程序的安装路径;基于应用程序的安装路径,确定应用程序是否满足预设条件;响应于确定出应用程序满足预设条件,在应用程序中加载插件。
第二方面,本申请实施例提供了一种应用程序的插件加载装置,包括:获取单元,配置用于获取应用程序的安装路径;确定单元,配置用于基于应用程序的安装路径,确定应用程序是否满足预设条件;加载单元,配置用于响应于确定出应用程序满足预设条件,在应用程序中加载插件。
第三方面,本申请实施例提供了一种电子设备,包括:包括:一个或多个处理器;存储装置,其上存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中描述的方法。
第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中描述的方法。
本申请实施例提供的应用程序的插件加载方法,可以获取应用程序的安装路径,而后基于所获取的应用程序的安装路径确定该应用程序是否满足预设条件,最后响应于确定出应用程序满足预设条件在该应用程序中加载插件,从而实现了利用应用程序的安装路径判断应用程序是否为插件的真正宿主,提高了插件加载的安全性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的应用程序的插件加载方法的一个实施例的流程图;
图3是根据本申请的应用程序的插件加载方法的另一个实施例的流程图;
图4是安装本实施中的应用程序的系统框架结构示意图;
图5是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的应用程序的插件加载方法的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、网络102和服务器103。网络102用以在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101通过网络102与服务器103交互,以接收或发送消息等。终端设备101上可以安装有各种应用程序,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等,各应用程序可以加载与其对应的插件。
终端设备101可以是支持应用程序安装、插件加载的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器103可以是提供各种服务的服务器,例如服务器103可以是为应用程序提供待加载的插件的后台服务器。需要说明的是,服务器103可以是硬件,也可以是软件。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器群,也可以实现成单个服务器。当服务器103为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本申请实施例所提供的应用程序的插件加载方法可以由终端设备101执行。还需要指出的是,服务器103也可以控制应用程序的插件的加载,此时,应用程序的插件加载方法也可以由服务器103执行。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,其示出了根据本申请的应用程序的插件加载方法的一个实施例的流程200。该应用程序的插件加载方法应用于网络设备,包括以下步骤:
步骤201,获取应用程序的安装路径。
在本实施例中,对于应用程序的插件加载方法的执行主体(例如图1所示的终端设备)上安装的应用程序在加载插件之前,往往需要验证该应用程序是否为待加载的插件的真正宿主。因此,为了确定应用程序是否为待加载的插件的真正宿主,上述执行主体在通过有线连接方式或者无线连接方式从服务器中获取应用程序待加载的插件之后,可以获取该应用程序的安装路径。可以理解的是,上述执行主体可以通过各种手段获取应用程序的安装路径,这里没有唯一的限定。作为示例,上述执行主体可以在应用程序运行的过程中获取进程的ID,从而确定出该应用程序的安装路径。
需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
步骤202,基于应用程序的安装路径,确定应用程序是否满足预设条件。
在本实施例中,上述执行主体(例如图1所示的终端设备)可以预先设置用于验证应用程序的预设条件,该预设条件可以通过对应用程序、待加载的插件处理分析得到,用于判断该应用程序是否为待加载插件的真正宿主。因此,基于步骤201获取的应用程序的安装路径,上述执行主体可以对所获取的应用程序和待加载的插件进行分析处理,以便于确定该应用程序是否满足上述预设条件。
由此,上述执行主体可以实现利用应用程序的安装路径判断该应用程序是否为待加载插件的真正宿主,丰富了验证插件真正宿主的方法。进一步地,根据应用程序的安装路径可以获取应用程序的例如安装包包名等多种不同的信息,从而可以提高插件真正宿主验证的准确性。
在本实施例的一些可选的实现方式中,上述执行主体在基于应用程序的安装路径,确定应用程序是否满足预设条件之前,还可以执行如下步骤:确定应用程序是否已经安装完成;以及响应于确定出应用程序已经安装完成,基于应用程序的安装路径,确定该应用程序是否满足预设条件。可以理解的是,上述执行主体可以通过在电子设备安装的应用程序中逐个查找等方式,来判断上述应用程序是否被安装。若上述执行主体确定出上述应用程序未安装,则无需判断该应用程序是否满足预设条件。
步骤203,响应于确定出应用程序满足预设条件,在应用程序中加载插件。
在本实施例中,上述执行主体在确定出应用程序满足预设条件的情况下,其可以确定出该应用程序为待加载的插件的真正宿主。此时,上述执行主体可以在上述应用程序中加载上述插件。
可以理解的是,若上述执行主体确定出上述应用程序不满足预设条件,则可以认为该应用程序并非待加载插件的真正宿主。此时,上述执行主体可以阻止插件的加载,从而保证了数据的安全。
本申请的上述实施例提供的应用程序的插件加载方法,可以获取应用程序的安装路径,而后基于所获取的应用程序的安装路径确定该应用程序是否满足预设条件,最后响应于确定出应用程序满足预设条件在该应用程序中加载插件,从而实现了利用应用程序的安装路径判断应用程序是否为插件的真正宿主,提高了插件加载的安全性。
接下来请继续参考图3,其示出了应用程序的插件加载方法的另一个实施例的流程300。该应用程序的插件加载方法300,包括以下步骤:
步骤301,获取应用程序的安装包包名。
在本实施例中,应用程序的插件加载方法的执行主体(例如图1所示的终端设备)上安装的应用程序在加载插件之前,往往需要验证该应用程序是否为待加载的插件的真正宿主。因此,为了确定应用程序是否为待加载的插件的真正宿主,上述执行主体在通过有线连接方式或者无线连接方式从服务器中获取应用程序待加载的插件之后,可以获取该应用程的安装包包名,以便于获取该应用程序的安装路径。
实践中,存在多种获取安装包包名的方式,这里没有唯一的限定。例如,通过执行主体自身携带的APPT(Android Asset Packaging Tool,管理资源文件的工具)等工具获取应用程序的安装包包名,或者通过代码的形式获取应用程序的安装包包名。
步骤302,根据所获取的安装包包名,在Java层确定应用程序的安装路径。
在本实施例中,上述用于加载插件的应用程序可以包括Java层。这里的Java层主要指用Java语言编写的、运行于虚拟机上的程序。基于步骤301所获取的应用程序的安装包包名,上述执行主体在对安装包包名进行分析处理后,可以在Java层确定出该应用程序的安装路径,从而使得应用程序的Java层可以获取到该应用程序的安装路径。
在本实施例的一些可选的实现方式中,上述应用程序可以为Android应用程序。并且,Android应用程序可以安装在Android系统的终端设备中。
通常,安装有上述应用程序的系统可以包括Linux内核层、本地服务层、Java应用程序框架层和Java层。并且,Linux内核层、本地服务层、Java应用程序框架层和Java层从低向上依次排列,如图4所示。上述Java层通常可以理解为由Java语言实现的各个app程序,也可称为Java应用程序层或app层。上述Java应用程序框架层,也可称之为Framework层,该层是专门为应用程序开发设计的。其可以为应用程序的开发提供回调接口API,并且与Java应用程序层相同,上述Java应用程序框架层也是由Java语言实现。
进一步地,上述本地服务层,也可称为Native层,主要用于扩展上述Java层的功能。通常,本地服务层可以包括由C/C++语言实现的本地服务和本地连接库的集合。该本地服务层既可以与上层的Java语言代码通信,还可以与底层的硬件驱动交互。最后,上述Linux内核层可以基于Linux内核提供核心服务,包括内存管理、进程管理等。上述执行主体可以基于上述Java层、本地服务层等控制应用程序加载对应的插件。
步骤303,利用JNI层,将安装路径从Java层传输到本地服务层。
在本实施例中,JNI(Java Native Interface,Java本地接口)层位于上述Java层和本地服务层之间,主要用于为Java层调用本地服务层提供通信接口。因此,上述应用程序中的Java层在获取安装路径后,可以通过JNI层将应用程序的安装路径传输到本地服务层,以便于上述执行主体可以在本地服务层对应用程序的安装路径进行验证。
步骤304,基于应用程序的安装路径,在本地服务层确定应用程序是否满足预设条件。
在本实施例中,应用程序的本地服务层在获取该应用程序的安装路径之后,上述执行主体可以在本地服务层判断该应用程序是否满足预设条件。需要说明的是,若应用程序的本地服务层是通过C/C++代码实现的,在本地服务层可以利用应用程序的安装路径,通过C/C++代码实现应用程序的验证。
对于采用Java层对应用程序进行签名验证,从而确定应用程序是否为待加载的插件的真正宿主的方案,签名验证在Java层执行时,容易被hook机制影响,从而导致验证结果出现偏差。本申请的上述实施例公开的方案通过本地服务层以C/C++代码实现对应用程序的验证,安全性高,从而可以避免hook机制的影响,提高了验证结果的准确性。
在本实施例的一些可选的实现方式中,在步骤304之前,上述执行主体可以执行如下步骤:确定应用程序是否已经安装完成;响应于确定出应用程序已经安装完成,基于应用程序的安装路径,在本地服务层确定应用程序是否满足预设条件。
在本实施例的一些可选的实现方式中,上述执行主体可以通过以下至少一种方式实现对应用程序是否满足预设条件的验证:包名验证、签名指纹验证、应用程序传入的安装路径的验证等。
上述包名验证可以通过如下步骤实现:利用本地服务层解析应用程序的安装路径,确定应用程序的安装包包名与预设的包名是否匹配。这里,预设的包名可以为待加载插件中预先设置的包名。具体地,上述预先设置的包名可以为待加载的插件的预设包名,上述执行主体将应用程序的安装包包名与待加载插件的预设包名进行匹配。
上述签名指纹验证可以通过如下步骤实现:首先,利用本地服务层解析应用程序的安装路径,确定该安装路径所指示的安装位置;在所确定的安装位置处定位上述应用程序的签名文件,以获取该应用程序的签名;而后,确定所获取的签名与预设的签名是否匹配。具体地,上述应用程序的本地服务层可以通过C/C++语言解析该应用程序的安装路径,确定出该安装路径所指示的安装位置,该安装位置即为上述应用程序所在的位置;而后可以在所确定的位置处定位到该应用程序的签名文件,从而可以从所获取的签名文件中提取出该应用程序的签名;最后将应用程序的签名与预设的签名进行匹配。这里,预设的签名可以是待加载插件中的签名,上述执行主体可以将提取出的应用程序的签名和待加载的插件中的签名进行匹配。
上述应用程序传入的安装路径的验证可以通过如下步骤实现:首先,利用本地服务层解析上述应用程序的安装路径,确定该安装路径所指示的安装位置;而后,确定所获取的安装路径所指示的应用程序的安装位置与预先指定的安装位置是否匹配。这里,预先指定的安装位置可以是待加载插件中的预先存储的安装信息,上述执行主体可以将所获取的安装路径所指示的应用程序的安装位置和待加载插件中的预先存储的安装信息进行匹配。
步骤305,响应于确定出应用程序满足预设条件,在应用程序中加载插件。
在本实施例中,上述执行主体在确定出应用程序满足预设条件的情况下,其可以确定出该应用程序为待加载插件的真正宿主。此时,上述执行主体控制应用程序加载上述待加载的插件。
从图3中可以看出,与图2对应的实施例相比,本实施例中的应用程序的插件加载方法突出了确定应用程序是否满足预设条件的步骤。由此,本实施例描述的方案可以在本地服务层实现对应用程序是否满足预设条件的验证,从而解决了在Java层验证安全性差的问题,进一步提高了插件加载的安全性。
下面参考图5,其示出了适于用来实现本申请实施例的网络设备(例如图1所示的终端设备101或服务器103)的计算机系统500的结构示意图。图5示出的网络设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向目标的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、确定单元和加载单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取应用程序的安装路径的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取应用程序的安装路径;基于应用程序的安装路径,确定应用程序是否满足预设条件;响应于确定出应用程序满足预设条件,在应用程序中加载插件。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (11)

1.一种应用程序的插件加载方法,应用于终端设备,包括:
获取所述应用程序的安装路径;
基于所述应用程序的安装路径,在所述应用程序的本地服务层确定所述应用程序是否满足预设条件,其中,所述预设条件用于判断该应用程序是否为待加载插件的真正宿主;
响应于确定出所述应用程序满足预设条件,在所述应用程序中加载所述插件。
2.根据权利要求1所述的方法,其中,所述应用程序包括Java层和用于扩展所述Java层功能的本地服务层。
3.根据权利要求2所述的方法,其中,所述获取所述应用程序的安装路径,包括:
获取所述应用程序的安装包包名;
根据所获取的安装包包名,在所述Java层确定所述应用程序的安装路径。
4.根据权利要求3所述的方法,其中,所述应用程序还包括JNI层,位于所述Java层和所述本地服务层之间,用于为所述Java层调用所述本地服务层提供通信接口;
所述方法还包括:
利用所述JNI层,将所述安装路径从所述Java层传输到所述本地服务层。
5.根据权利要求1所述的方法,其中,在基于所述应用程序的安装路径,确定所述应用程序是否满足预设条件之前,所述方法还包括:
确定所述应用程序是否已经安装完成;
响应于确定出所述应用程序已经安装完成,基于所述应用程序的安装路径,确定所述应用程序是否满足预设条件。
6.根据权利要求2所述的方法,其中,所述基于所述应用程序的安装路径,确定所述应用程序是否满足预设条件,包括:
利用所述本地服务层解析所述应用程序的安装路径,确定所述应用程序的安装包包名与预设的包名是否匹配。
7.根据权利要求2所述的方法,其中,所述基于所述应用程序的安装路径,确定所述应用程序是否满足预设条件,包括:
利用所述本地服务层解析所述应用程序的安装路径,确定所述安装路径所指示的安装位置;
在所确定的安装位置处定位所述应用程序的签名文件,以获取所述应用程序的签名;
确定所获取的签名与预设的签名是否匹配。
8.根据权利要求2所述的方法,其中,所述基于所述应用程序的安装路径,确定所述应用程序是否满足预设条件,包括:
利用所述本地服务层解析所述应用程序的安装路径,确定所述安装路径所指示的安装位置;
确定所述安装路径所指示的安装位置与预先指定的安装位置是否匹配。
9.根据权利要求1-8之一所述的方法,其中,所述应用程序为Android应用程序。
10.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的方法。
11.一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-9中任一所述的方法。
CN201811051178.3A 2018-09-10 2018-09-10 应用程序的插件加载方法 Active CN109145591B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811051178.3A CN109145591B (zh) 2018-09-10 2018-09-10 应用程序的插件加载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811051178.3A CN109145591B (zh) 2018-09-10 2018-09-10 应用程序的插件加载方法

Publications (2)

Publication Number Publication Date
CN109145591A CN109145591A (zh) 2019-01-04
CN109145591B true CN109145591B (zh) 2021-11-16

Family

ID=64824094

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811051178.3A Active CN109145591B (zh) 2018-09-10 2018-09-10 应用程序的插件加载方法

Country Status (1)

Country Link
CN (1) CN109145591B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110007980B (zh) * 2019-01-29 2022-05-24 创新先进技术有限公司 多业务服务端的实现方法和装置
CN112817660B (zh) * 2021-02-03 2023-12-12 百度在线网络技术(北京)有限公司 扩展小程序能力的方法、装置、设备以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577754A (zh) * 2012-08-02 2014-02-12 腾讯科技(深圳)有限公司 插件安装的检测方法及装置
CN104375494A (zh) * 2014-12-02 2015-02-25 北京奇虎科技有限公司 安全沙箱构造方法及装置
CN105138351A (zh) * 2015-07-31 2015-12-09 百度在线网络技术(北京)有限公司 一种为宿主配置插件包的方法与装置
CN105844150A (zh) * 2016-03-23 2016-08-10 青岛海信传媒网络技术有限公司 一种应用程序的数据保护方法和装置
CN108491236A (zh) * 2018-03-23 2018-09-04 努比亚技术有限公司 一种插件加载方法、装置及计算机可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050268112A1 (en) * 2004-05-28 2005-12-01 Microsoft Corporation Managing spyware and unwanted software through auto-start extensibility points
CN104978530B (zh) * 2015-03-12 2018-09-04 腾讯科技(深圳)有限公司 一种应用安全管理方法、装置、服务器以及系统
CN107967424A (zh) * 2017-11-02 2018-04-27 北京奇虎科技有限公司 一种插件的验证方法、装置、终端设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577754A (zh) * 2012-08-02 2014-02-12 腾讯科技(深圳)有限公司 插件安装的检测方法及装置
CN104375494A (zh) * 2014-12-02 2015-02-25 北京奇虎科技有限公司 安全沙箱构造方法及装置
CN105138351A (zh) * 2015-07-31 2015-12-09 百度在线网络技术(北京)有限公司 一种为宿主配置插件包的方法与装置
CN105844150A (zh) * 2016-03-23 2016-08-10 青岛海信传媒网络技术有限公司 一种应用程序的数据保护方法和装置
CN108491236A (zh) * 2018-03-23 2018-09-04 努比亚技术有限公司 一种插件加载方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
CN109145591A (zh) 2019-01-04

Similar Documents

Publication Publication Date Title
US11237844B2 (en) Method and apparatus for loading kernel module
CN110708346B (zh) 信息处理系统和方法
CN107302597B (zh) 消息文案推送方法和装置
CN109684188B (zh) 测试方法和装置
CN107305528B (zh) 应用测试方法和装置
CN108958711A (zh) 一种接口平台的实现方法和装置
JP2018508892A (ja) 装置指紋をインターネット装置に割り当てるための方法及び機器
CN107229565B (zh) 测试方法和装置
CN109145591B (zh) 应用程序的插件加载方法
CN110084298B (zh) 用于检测图像相似度的方法及装置
CN111506904A (zh) 漏洞在线修复的方法和装置
CN111125503B (zh) 用于生成信息的方法和装置
CN112084114B (zh) 用于测试接口的方法和装置
CN113176907A (zh) 接口数据调用方法、装置、计算机系统及可读存储介质
CN111324470A (zh) 用于生成信息的方法及装置
CN107247661B (zh) 支持对应用的安装包进行自动化验证的方法和系统
CN112395194B (zh) 一种接入测试平台的方法和装置
CN108471635B (zh) 用于连接无线接入点的方法和设备
CN112579428B (zh) 接口测试的方法、装置、电子设备和存储介质
CN110427745B (zh) 验证码获取方法、装置、电子设备和计算机可读介质
CN110287087B (zh) 用于检测应用的方法和装置
CN113535568A (zh) 应用部署版本的验证方法、装置、设备和介质
CN108804713B (zh) 图像输出方法、电子设备和计算机可读介质
CN108287792B (zh) 用于输出信息的方法和装置
CN111831530A (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
GR01 Patent grant