CN105677377A - 安卓应用的升级方法和装置 - Google Patents
安卓应用的升级方法和装置 Download PDFInfo
- Publication number
- CN105677377A CN105677377A CN201410665876.8A CN201410665876A CN105677377A CN 105677377 A CN105677377 A CN 105677377A CN 201410665876 A CN201410665876 A CN 201410665876A CN 105677377 A CN105677377 A CN 105677377A
- Authority
- CN
- China
- Prior art keywords
- verification
- logical program
- card installation
- plug
- agent
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种安卓应用的升级方法和装置。所述方法的一具体实施方式包括:保存插件包,其中所述插件包包括:插件安装包、校验文件和属性信息表,所述校验文件用于校验所述插件安装包的完整性,所述属性信息表记录所述插件安装包中可调用的逻辑程序的属性信息;根据所述校验文件对所述插件安装包进行校验;如果所述插件安装包通过校验,则根据所述属性信息表,通过生成的代理程序加载所述逻辑程序。该实施方式实现了安卓应用对指定模块的升级,减小了升级安装包的体积。
Description
技术领域
本申请涉及计算机技术领域,具体涉及安卓技术领域,尤其涉及一种安卓应用的升级方法和装置。
背景技术
随着移动应用技术的发展,安卓应用的升级周期不断缩短,通常情况下,安卓应用的升级只涉及其中的一个或多个模块,但升级时必须将所有模块一同升级,所以导致升级过程变得繁琐,并且产生了对升级非必要数据的操作过程。
发明内容
本申请提供了安卓应用的升级方法和装置。
第一方面,本申请提供了一种安卓应用的升级方法,所述方法包括:保存插件包,其中所述插件包包括:插件安装包、校验文件和属性信息表,所述校验文件用于校验所述插件安装包的完整性,所述属性信息表记录所述插件安装包中可调用的逻辑程序的属性信息;根据所述校验文件对所述插件安装包进行校验;如果所述插件安装包通过校验,则根据所述属性信息表,通过生成的代理程序加载所述逻辑程序。
在一些可选的实现方式中,根据所述校验文件对所述插件安装包进行校验,包括:根据所述校验文件,选择所述安卓应用的校验程序或者所述插件安装包的校验程序进行校验。
在一些可选的实现方式中,所述根据所述属性信息表,通过生成的代理程序加载所述逻辑程序,包括:将所述逻辑程序从所述插件安装包中转移至可执行目录;生成所述代理程序;传送所述属性信息表中的属性信息给所述代理程序;在可执行目录下通过所述代理程序加载所述逻辑程序。
在一些可选的实现方式中,所述在可执行目录下通过所述代理程序加载所述逻辑程序,包括:通过刷新所述可执行目录,筛选与所述安卓应用匹配的逻辑程序;通过所述代理程序加载所述匹配的逻辑程序。
在一些可选的实现方式中,所述方法还包括:更新所述逻辑程序的上下文环境为所述安卓应用的上下文环境。
在一些可选的实现方式中,所述属性信息包括:逻辑程序的名称信息和位置信息。
在一些可选的实现方式中,所述属性信息表的保存格式包括:ini、json或xml。
在一些可选的实现方式中,所述校验文件为哈希校验文件。
第二方面,本申请提供了一种安卓应用的升级装置,所述装置包括:保存单元,用于保存插件包,其中所述插件包包括:插件安装包、校验文件和属性信息表,所述校验文件用于校验所述插件安装包的完整性,所述属性信息表记录所述插件安装包中可调用的逻辑程序的属性信息;校验单元,用于根据所述校验文件对所述插件安装包进行校验;加载单元,用于根据所述属性信息表,通过生成的代理程序加载所述逻辑程序。
在一些可选的实现方式中,所述加载单元包括:逻辑程序转移模块,用于将所述逻辑程序从所述插件安装包中转移至可执行目录;代理程序生成模块,用于生成所述代理程序;属性信息传送模块,用于传送所述属性信息表中的属性信息给所述代理程序;逻辑程序加载模块,用于在可执行目录下通过所述代理程序加载所述逻辑程序。
本申请提供的安卓应用的升级方法和装置,通过保存插件包,随后根据校验文件对插件包中的插件安装包进行校验,如果插件安装包通过校验,则根据属性信息表,通过生成的代理程序加载逻辑程序,无需重新打包编译安卓安装包,便可以实现安卓应用的指定模块的升级,减小了升级安装包的体积。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请提供的安卓应用的升级方法的一个实施例的流程图;
图2是本申请提供的安卓应用的升级方法的另一个实施例的流程图;
图3是本申请提供的安卓应用的升级装置的一个实施例的结构示意图;
图4是本申请提供的安卓应用的升级装置的另一个实施例的结构示意图;
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
请参考图1,其示出了安卓应用的升级方法的一个实施例的流程100。本实施例主要以该方法应用于包含有显示屏的设备中来举例说明,该设备可以包括智能手机、平板电脑、电子书阅读器、MP3播放器(MovingPictureExpertsGroupAudioLayerIII,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExpertsGroupAudioLayerIV,动态影像专家压缩标准音频层面3)播放器、膝上型便携计算机和台式计算机等等。所述安卓应用的升级方法的一个实施例,包括以下步骤:
步骤101,保存插件包。
在本实施例中,安卓应用可以响应自动升级或者手动升级。具体来说,响应于其中一种升级,安卓应用首先保存用于升级的插件包。安卓应用保存插件包可以如下进行:将网络端或其他储存位置的插件包下载或者移动至设备的本地存储器,例如从服务器移动至本地硬盘或者SD卡(SecureDigitalmemorycard,安全数码卡)等,以便之后安卓应用可以对插件包内的资源进行校验和加载。该插件包可以是一个普通的压缩包,例如:ZIP、RAR压缩包。该插件包包括:插件安装包、校验文件和属性信息表。其中,插件安装包是用于安卓应用升级的文件包,可以是普通的升级安装包,由安卓应用厂商发布,是一种遵循一定应用程序接口规范编写的文件包,特点是该插件安装包无需安装和编译,由安卓应用对其进行加载;校验文件可以是用于校验插件安装包的完整性的文件;属性信息表可以是记录插件安装包中可调用的逻辑程序的属性信息的信息表;上述属性信息可以包括:逻辑程序的保存格式、大小或者创建时间等信息。
步骤102,根据校验文件对插件安装包进行校验。
在本实施例中,根据校验文件对插件安装包进行校验可以包括:校验所述插件安装包内的数据是否在步骤101保存插件包过程中被破坏等。
步骤103,如果插件安装包通过校验,则根据属性信息表,通过生成的代理程序加载安卓安装包中的可调用逻辑程序。
在本实施例中,在安卓应用对插件安装包进行校验后,如果插件安装包通过校验,则安卓应用需要读取属性信息表内记录的信息来加载插件安装包内的资源或文件,然后根据属性信息表的信息发出加载指定逻辑程序的指令,该指令可以包括:打开文件的指令、读取数据的指令以及移动数据的指令。
对于本申请的上述实施例,应用的场景可以为:安卓应用被设置为响应于自动升级或者手动升级。例如,响应于手动升级时,安卓应用可以首先将存放在SD卡中的插件包移动至可执行目录下,然后对其中的插件安装包进行校验;如果校验通过,则根据属性信息表,通过代理程序加载插件安装包内可调用的逻辑程序,从而对该安卓应用中某一模块进行升级。
本申请上述实施例提供的方法通过保存插件包,随后根据校验文件对插件包中的插件安装包进行校验,如果插件安装包通过校验,则根据属性信息表,通过生成的代理程序加载逻辑程序,无需重新打包编译安卓安装包,便可以实现安卓应用的指定模块的升级,减小了升级安装包的体积。
进一步参考图2,其示出了安卓应用的升级方法的另一个实施例的流程200。该流程200包括以下步骤:
步骤201,保存插件包。
在本实施例中,保存插件包的过程中,安卓应用还可以检测插件包是否处于加密状态,如果检测出插件包为加密状态,则对插件包进行解密。解密方式可以为应用厂商开发插件包时约定的解密方式,例如可以是通过序列号或验证码解密;又或者通过具有转化数据功能的程序,对插件包数据格式进行转化,例如将所有插件包的数据转化为二进制数据。
步骤202,根据校验文件对插件安装包进行校验。
在本实施例中,在对插件安装包进行校验之前,安卓应用可以根据校验文件的信息提示,选择安卓应用的校验程序或者插件安装包的校验程序进行校验。通常情况下安卓应用或者插件安装包自带校验程序,该校验程序的校检项目可以包括:总和校验(checksum)、文件大小校验以及跳转代码校验等。所以安卓应用可以选择本应用的校验程序进行校验,也可以选择插件安装包的校验程序进行校验。
在一些可选的实现方式中,该校验文件可以包括哈希校验文件。安卓应用根据哈希校验文件对插件安装包进行校验的具体步骤可以包括:安卓应用通过hook函数(安卓系统中,处理消息的JAVA函数,通过系统调用,挂入系统,每当特定的消息发出,在没有到达目的窗口前,先捕获该消息)、dlopen函数(安卓系统中,打开一个动态链接库,并返回动态链接库的句柄的JAVA函数)、open函数(安卓系统中,打开和创建文件的JAVA函数)提取插件安装包的包信息(PackageInfo);根据包信息获取签名(Signature)对象;取得签名对象的哈希值;比较其哈希值与合法签名是否一致,如一致,则校验通过;如不一致,则校验不通过,返回错误信息,停止加载。
步骤203,将逻辑程序从插件安装包中转移至可执行目录。
在本实施例中,安卓应用通常在一些指定的可执行目录(例如“/data/cache”目录)下加载程序,而此时插件安装包保存在没有可执行权限的本地存储器中,例如SD卡中,所以安卓应用将该插件安装包内的逻辑程序移动至安卓应用的指定的可执行目录下。例如,以so文件格式保存的逻辑程序必须移动至一个可执行目录下,安卓应用调用LoadLibrary函数(安卓系统中,载入指定的动态链接库,并将动态链接库映射到当前进程使用的地址空间从而访问库内资源的JAVA函数)时,指引路径必须被重定向到安卓应用指定的so文件保存的可执行目录。
步骤204,生成代理程序。
在本实施例中,为实现对非安装逻辑程序的加载,安卓应用生成一个代理程序(ProxyActivity,在安卓应用主程序中创建的具有生命周期的类程序),通过这个代理程序,安卓应用可以利用反射机制加载逻辑程序,使未安装的逻辑程序能够加载。
步骤205,传送属性信息表中的属性信息给代理程序。
在本实施例中,安卓应用将属性信息表中的属性信息传送给代理程序,以完成加载前的配置工作。属性信息可以提供被加载的逻辑程序的位置信息和名称信息。
步骤206,在可执行目录下通过代理程序加载逻辑程序。
在本实施例中,通过代理程序加载逻辑程序,具体来说,可以如下进行:代理程序依据JAVA的反射机制,调用资源管理对象(AssetManager)中的addAssetPath函数(安卓系统中,加载程序路径的JAVA函数),就可以将逻辑程序加载,得到逻辑程序的资源。换言之,安卓应用根据属性信息表获取一个逻辑程序的路径,就可以将逻辑程序中的资源加载到资源管理对象,然后再通过资源管理对象来创建一个新的资源对象,也就是代理程序,最后调用getAssets函数(安卓系统中,读取文件的JAVA函数)和getResources函数(安卓系统中,获取文件资源的JAVA函数),代理程序就获得了原来逻辑程序中的资源。
在一些可选的实现方式中,安卓应用通过刷新可执行目录,筛选与安卓应用匹配的逻辑程序。具体举例来说,当升级多个功能时,可执行目录下存在若干个可执行文件,例如对于可执行so文件,安卓应用会对LoadLibrary函数做一个钩子(hook)操作,过滤所有可执行目录下的so文件,根据不同的功能升级加载不同的so文件,并且有专门的配置文件来管理此操作。
在一些可选的实现方式中,在通过代理程序加载逻辑程序之后,安卓应用将更新逻辑程序的上下文环境(Context)为当前安卓应用的上下文环境,以运行和调用逻辑程序,逻辑程序的文件格式包括但不限于.dex、.jar或者.so文件格式。
在一些可选的实现方式中,属性信息包括:逻辑程序的名称信息和位置信息,其中名称信息是指逻辑程序的函数名,位置信息是指逻辑程序的保存路径。这些属相信息都将传送给代理程序,以辅助代理程序加载逻辑程序。
在一些可选的实现方式中,属性信息表的保存格式包括但不限于:.ini、.json或.xml等格式。
从图2中可以看出,与图1对应的实施例不同的是,流程200对流程100中步骤103进行细化,包括如下步骤:步骤203将逻辑程序从插件安装包中转移至可执行目录、步骤204生成代理程序、步骤205传送属性信息表中的属性信息给代理程序和步骤206在可执行目录下通过代理程序加载逻辑程序。通过上述步骤,本实施例描述的方案有助于实现安卓应用将逻辑程序转移至指定目录下,然后通过生成的代理程序加载逻辑程序的计算机方法逻辑,使安卓应用在加载逻辑程序时避免出现故障或者未成功加载等问题。
进一步参考图3,其示出了安卓应用的升级装置的一个实施例的结构示意图。
如图3所示,本实施例的安卓应用的升级装置300包括:保存单元301,校验单元302和加载单元303。其中,保存单元301用于保存插件包,其中插件包包括:插件安装包、校验文件和属性信息表,校验文件用于校验插件安装包的完整性,属性信息表记录插件安装包中可调用的逻辑程序的属性信息;校验单元302用于根据校验文件对插件安装包进行校验;加载单元303用于根据属性信息表,通过生成的代理程序加载逻辑程序。
在本实施例中,插件包可以由保存单元301保存。保存插件包可以如下进行:将网络端或其他储存位置的插件包下载或者移动至设备的本地储存器,例如从服务器移动至本地硬盘或者SD卡(SecureDigitalmemorycard,安全数码卡)等,以便之后校验单元302以及加载单元303分别可以对插件包内的资源进行校验和加载。校验单元302根据校验文件对插件安装包进行校验可以包括:校验所述插件安装包内的数据是否在保存单元301保存插件包过程中被破坏,以及属性信息表或其他可执行文件是否被丢失等。如果插件安装包通过校验,则加载单元303需要读取属性信息表内记录的信息来加载插件安装包内的资源或文件,然后根据属性信息表的信息发起对指定逻辑程序的加载指令,其中加载指令可以包括:打开文件的指令、读取数据的指令以及移动数据的指令。
进一步参考图4,其示出了安卓应用的升级装置的一个实施例的结构示意图。
如图4所示,本实施例的安卓应用的升级装置400包括:保存单元401,校验单元402和加载单元403。其中,加载单元403包括:逻辑程序转移模块4031,用于将逻辑程序从插件安装包中转移至可执行目录;代理程序生成模块4032,用于生成代理程序;属性信息传送模块4033,用于传送属性信息表中的属性信息给代理程序;逻辑程序加载模块4034,用于在可执行目录下通过代理程序加载逻辑程序。
在本实施例中,由于本地存储器目录下的文件没有可执行权限,逻辑程序转移模块4031将插件安装包内的逻辑程序移动至安卓应用的指定的可执行目录下。之后通过代理程序或其他程序加载逻辑程序时,安卓应用需要重新获取在可执行目录下逻辑程序的路径。
在本实施例中,为实现对非安装逻辑程序的加载过程,代理程序生成模块4032生成一个代理程序,通过这个代理程序,安卓应用可以利用反射机制加载逻辑程序,使未安装的逻辑程序能够运行。
在本实施例中,属性信息传送模块4033将属性信息表中的属性信息传送给代理程序,以完成加载前的配置工作。属性信息提供被加载的逻辑程序的位置和名称。
在本实施例中,逻辑程序加载模块4034通过代理程序加载逻辑程序,具体来说,代理程序依据JAVA反射原理,调用资源管理对象中的addAssetPath函数就可以将逻辑程序加载,得到逻辑程序的资源。换言之,传入一个逻辑程序路径就可以将逻辑程序中的资源加载到资源管理对象,然后再通过资源管理对象来创建一个新的资源对象,也就是代理程序,然后调用getAssets函数和getResourcesg函数两个函数,代理程序就获得了原来逻辑程序中的资源。
在一些可选实施方式中,装置400的加载单元403还包括权限审查模块(未示出),权限审查模块用于对还未加载的逻辑程序进行权限审查。存放在可执行目录下的逻辑程序通过权限审查后,才可以被代理程序加载,并非任意逻辑程序移动到可执行目录下都能被加载。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括保存单元、校验单元和加载单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,保存单元还可以被描述为“用于保存插件包的保存单元”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本申请的安卓应用的升级方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种安卓应用的升级方法,其特征在于,所述方法包括:
保存插件包,其中所述插件包包括:插件安装包、校验文件和属性信息表,所述校验文件用于校验所述插件安装包的完整性,所述属性信息表记录所述插件安装包中可调用的逻辑程序的属性信息;
根据所述校验文件对所述插件安装包进行校验;
如果所述插件安装包通过校验,则根据所述属性信息表,通过生成的代理程序加载所述逻辑程序。
2.根据权利要求1所述的安卓应用的升级方法,其特征在于,根据所述校验文件对所述插件安装包进行校验,包括:
根据所述校验文件,选择所述安卓应用的校验程序或者所述插件安装包的校验程序进行校验。
3.根据权利要求1所述的安卓应用的升级方法,其特征在于,所述根据所述属性信息表,通过生成的代理程序加载所述逻辑程序,包括:
将所述逻辑程序从所述插件安装包中转移至可执行目录;
生成所述代理程序;
传送所述属性信息表中的属性信息给所述代理程序;
在可执行目录下通过所述代理程序加载所述逻辑程序。
4.根据权利要求3所述的安卓应用的升级方法,其特征在于,所述在可执行目录下通过所述代理程序加载所述逻辑程序,包括:
通过刷新所述可执行目录,筛选与所述安卓应用匹配的逻辑程序;
通过所述代理程序加载所述匹配的逻辑程序。
5.根据权利要求1所述的安卓应用的升级方法,其特征在于,所述根据所述属性信息表,通过生成的代理程序加载所述逻辑程序之后,还包括:
更新所述逻辑程序的上下文环境为所述安卓应用的上下文环境。
6.根据权利要求1-5之一所述的安卓应用的升级方法,其特征在于,所述属性信息包括:逻辑程序的名称信息和位置信息。
7.根据权利要求1-5之一所述的安卓应用的升级方法,其特征在于,所述属性信息表的保存格式包括:ini、json或xml。
8.根据权利要求1-5之一所述的安卓应用的升级方法,其特征在于,所述校验文件为哈希校验文件。
9.一种安卓应用的升级装置,其特征在于,所述装置包括:
保存单元,用于保存插件包,其中所述插件包包括:插件安装包、校验文件和属性信息表,所述校验文件用于校验所述插件安装包的完整性,所述属性信息表记录所述插件安装包中可调用的逻辑程序的属性信息;
校验单元,用于根据所述校验文件对所述插件安装包进行校验;
加载单元,用于根据所述属性信息表,通过生成的代理程序加载所述逻辑程序。
10.根据权利要求9所述的安卓应用的升级装置,其特征在于,所述加载单元包括:
逻辑程序转移模块,用于将所述逻辑程序从所述插件安装包中转移至可执行目录;
代理程序生成模块,用于生成所述代理程序;
属性信息传送模块,用于传送所述属性信息表中的属性信息给所述代理程序;
逻辑程序加载模块,用于在可执行目录下通过所述代理程序加载所述逻辑程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410665876.8A CN105677377A (zh) | 2014-11-19 | 2014-11-19 | 安卓应用的升级方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410665876.8A CN105677377A (zh) | 2014-11-19 | 2014-11-19 | 安卓应用的升级方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105677377A true CN105677377A (zh) | 2016-06-15 |
Family
ID=56945319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410665876.8A Pending CN105677377A (zh) | 2014-11-19 | 2014-11-19 | 安卓应用的升级方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105677377A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339237A (zh) * | 2016-08-16 | 2017-01-18 | 税友软件集团股份有限公司 | 针对JavaEE领域WEB应用的插件加载框架及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120144379A1 (en) * | 2010-12-07 | 2012-06-07 | Hon Hai Precision Industry Co., Ltd. | System and method for updadting software |
CN102830992A (zh) * | 2012-07-31 | 2012-12-19 | 北京奇虎科技有限公司 | 插件加载方法及系统 |
CN102880456A (zh) * | 2012-07-31 | 2013-01-16 | 北京奇虎科技有限公司 | 一种创建插件方法及装置 |
CN103324506A (zh) * | 2013-06-24 | 2013-09-25 | 上海天奕达电子科技有限公司 | 一种控制Android应用程序安装的方法及手机 |
-
2014
- 2014-11-19 CN CN201410665876.8A patent/CN105677377A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120144379A1 (en) * | 2010-12-07 | 2012-06-07 | Hon Hai Precision Industry Co., Ltd. | System and method for updadting software |
CN102830992A (zh) * | 2012-07-31 | 2012-12-19 | 北京奇虎科技有限公司 | 插件加载方法及系统 |
CN102880456A (zh) * | 2012-07-31 | 2013-01-16 | 北京奇虎科技有限公司 | 一种创建插件方法及装置 |
CN103324506A (zh) * | 2013-06-24 | 2013-09-25 | 上海天奕达电子科技有限公司 | 一种控制Android应用程序安装的方法及手机 |
Non-Patent Citations (4)
Title |
---|
SINGWHATIWANNA: ""Android apk动态加载机制的研究"", 《HTTP://BLOG.CSDN.NET/ SINGWHATIWANNA/ARTICLE/DETAILS/22597587》 * |
TRINEA: ""Android插件化动态升级"", 《HTTPS://WWW.CNBLOGS.COM/TRINEA/P/3980597.HTML》 * |
YUANZEYAO: ""实现Android动态加载APK(Fragment or Activity实现)"", 《HTTP://BLOG.CSDN.NET/YUANZEYAO/ ARTICLE/DETAILS/38565345》 * |
郝玉龙: "《Android程序设计基础》", 31 October 2011 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339237A (zh) * | 2016-08-16 | 2017-01-18 | 税友软件集团股份有限公司 | 针对JavaEE领域WEB应用的插件加载框架及方法 |
CN106339237B (zh) * | 2016-08-16 | 2019-11-12 | 税友软件集团股份有限公司 | 针对JavaEE领域WEB应用的插件加载框架及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105164644B (zh) | 钩子框架 | |
CN107704356B (zh) | 异常堆栈信息获取方法、装置及计算机可读存储介质 | |
CN109697060B (zh) | 视频特效系统及其生成方法、装置、设备和存储介质 | |
CN104781785B (zh) | 为应用从中间语言代码生成本机代码 | |
US11100244B2 (en) | File packaging and unpackaging methods, apparatuses, and network devices | |
CN107402788B (zh) | 资源打包管理方法与装置 | |
US9110749B2 (en) | Digital content bundle | |
CN106775723A (zh) | 基于Android平台的系统固件定制的方法和Android设备 | |
CN105893094A (zh) | 应用程序插件化的实现方法和装置 | |
CN104375819A (zh) | 用于应用执行的自动记录和重放的系统、方法和装置 | |
US9413815B2 (en) | Methods and apparatuses for imparting functionality to a mobile computing device | |
CN109800005B (zh) | 一种客户端热更新方法及装置 | |
CN108885611A (zh) | 文档自动化 | |
WO2017219526A1 (zh) | 一种图形文件格式的使用方法及存储设备 | |
CN110022558A (zh) | 一种升级包的加密、解密方法和电子装置及存储介质 | |
CN108874464A (zh) | 中间件自动扫描装配方法、装置及存储介质 | |
WO2018227798A1 (zh) | 定制系统实现方法、计算机设备和计算机可读存储介质 | |
CN106326129A (zh) | 一种程序异常信息生成方法及装置 | |
CN109739704A (zh) | 一种接口测试方法、服务端及计算机可读存储介质 | |
US9971611B2 (en) | Monitoring a mobile device application | |
US10789751B2 (en) | Method and apparatus for implementing animation in client application and animation script framework | |
US10268647B2 (en) | Asset catalog layered image support | |
CN102609650B (zh) | 实现电子设备中软件加密下载的系统及方法 | |
US20180349102A1 (en) | Apparatus and method for converting large-scale application | |
CN105677377A (zh) | 安卓应用的升级方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160615 |