CN107066291A - 软件开发工具包的打包方法、装置及设备、可读介质 - Google Patents

软件开发工具包的打包方法、装置及设备、可读介质 Download PDF

Info

Publication number
CN107066291A
CN107066291A CN201710071942.2A CN201710071942A CN107066291A CN 107066291 A CN107066291 A CN 107066291A CN 201710071942 A CN201710071942 A CN 201710071942A CN 107066291 A CN107066291 A CN 107066291A
Authority
CN
China
Prior art keywords
packing
module
function
client
needed
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
Application number
CN201710071942.2A
Other languages
English (en)
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710071942.2A priority Critical patent/CN107066291A/zh
Publication of CN107066291A publication Critical patent/CN107066291A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

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

Abstract

本申请提供一种软件开发工具包的打包方法、装置及设备、可读介质,该方法包括:接收客户端发送的打包指令;如果所述打包指令携带有需求标识,将与所述需求标识对应的功能子模块确定为打包所需的模块;各功能子模块的集合为功能模块,该功能模块用于同时支持目标业务的各种业务功能,所述需求标识与所述客户端所需的业务功能对应;对打包所需的模块进行编译,获得编译文件;对获得的编译文件进行打包处理,生成所述客户端所需的SDK。实施本申请,能够基于目标业务的同一套代码,根据客户端的需求进行灵活打包。

Description

软件开发工具包的打包方法、装置及设备、可读介质
技术领域
本申请涉及计算机技术领域,尤其涉及软件开发工具包的打包方法、装置及设备、可读介质。
背景技术
软件开发工具包(Software Development Kit,SDK),一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合,可以简单的为某个程序设计语言提供应用程序接口API的一些文件。
很多应用软件的业务组件需要通过SDK打包的方式生成,常见的SDK模块库所含的模块,能够同时支持多种应用软件的目标业务(例如:身份核验业务),包括基础功能集合部分,即基础模块,该基础模块能够支持该目标业务的各种基础功能;还包括该目标业务的业务功能集合部分,即功能模块,该功能模块能够同时满足该目标业务的各种需求,例如:人脸核验需求、密码核验需求、人机核验需求、指纹核验需求、身份证件核验需求等。
现有SDK打包方法在打包时,通常由打包服务器将其所含的目标业务的所有模块整体进行编译,将所有模块整体编译后打包成SDK,然后供不同的应用软件下载使用。
而不同种类的应用软件(客户端)对该目标业务的需求可能不完全相同,并不需要该目标业务的SDK同时满足各种需求,例如:支付宝只需要密码核验、蚂蚁聚宝需要身份证件核验等,这样导致客户端下载的该类业务的SDK包含有客户端不需要的业务功能,浪费了下载的带宽资源,增加了下载的时间。
发明内容
有鉴于此,本申请提供一种软件开发工具包的打包方法、装置及设备、可读介质。
具体地,本申请是通过如下技术方案实现的:
根据本申请实施例的第一方面,提供一种软件开发工具包的打包方法,包括以下步骤:
接收客户端发送的打包指令;
如果所述打包指令携带有需求标识,将与所述需求标识对应的功能子模块确定为打包所需的模块;各功能子模块的集合为功能模块,该功能模块用于同时支持目标业务的各种业务功能,所述需求标识与所述客户端所需的业务功能对应;
对打包所需的模块进行编译,获得编译文件;
对获得的编译文件进行打包处理,生成所述客户端所需的SDK。
根据本申请实施例的第二方面,提供一种电子设备,包括:
处理器;
存储处理器可执行指令的存储器;
其中,所述处理器耦合于所述存储器,用于读取所述存储器存储的程序指令,并作为响应,执行如下操作:
接收客户端发送的打包指令;
如果所述打包指令携带有需求标识,将与所述需求标识对应的功能子模块确定为打包所需的模块;各功能子模块的集合为功能模块,该功能模块用于同时支持目标业务的各种业务功能,所述需求标识与所述客户端所需的业务功能对应;
对打包所需的模块进行编译,获得编译文件;
对获得的编译文件进行打包处理,生成所述客户端所需的SDK。
根据本申请实施例的第三方面,提供一种软件开发工具包的打包装置,包括:
指令接收模块,用于接收客户端发送的打包指令;
指令响应模块,用于在所述打包指令携带有需求标识,将与所述需求标识对应的功能子模块确定为打包所需的模块;各功能子模块的集合为功能模块,该功能模块用于同时支持目标业务的各种业务功能,所述需求标识与所述客户端所需的业务功能对应;
功能编译模块,用于对打包所需的模块进行编译,获得编译文件;
打包模块,用于对获得的编译文件进行打包处理,生成所述客户端所需的SDK。
根据本申请实施例的第四方面,提供一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得终端设备执行如以上所述的方法。
实施本申请提供的实施例,接收到客户端发送的打包指令后,如果所述打包指令携带有需求标识,将与所述需求标识对应的功能子模块确定为打包所需的模块,然后对打包所需的模块进行编译,获得编译文件,对获得的编译文件进行打包处理,生成所述客户端所需的SDK,所确定的模块用于满足客户端需求,可以供所述客户端向用户提供满足其需求的业务功能。因此,本申请能够根据各客户端的不同需求从功能模块所含的一份代码中提取不同的代码,打出满足各客户端的不同需求的SDK。进而,如果客户端下载该SDK,该SDK仅包含有该客户端需要的业务功能的代码,可以节约下载的带宽资源和时间。
附图说明
图1a是本申请软件开发工具包的打包方法的一个实施例流程图;
图1b是本申请根据一示例性实施例示出的代码目录的示意图;
图2a是本申请软件开发工具包的打包方法的另一个实施例流程图;
图2b是本申请根据一示例性实施例示出的SDK所含代码的第一代码目录示意图;
图3a是本申请软件开发工具包的打包方法的另一个实施例流程图;
图3b是本申请根据一示例性实施例示出的SDK所含代码的第二代码目录示意图;
图4是本申请软件开发工具包的打包装置的一个实施例框图;
图5是本申请软件开发工具包的打包装置的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例涉及SDK的打包处理,在打包处理过程中,将用于实现某一类业务的各种基础功能的代码,称为基础代码,即基础模块,该基础模块能够支持该目标业务的各种基础功能;将用于实现该类业务的各种业务功能的代码,称为功能代码,即功能模块,该功能模块能够同时满足各类型的客户端对该目标业务的各种需求,这里提到的客户端也可以称为用户端,是指与服务器相对应,为客户提供本地服务的程序。
所涉及的目标业务可以是身份核验业务、支付业务、网银业务中的任一类业务,针对每类业务,不同类型的客户端可能向用户提供该类业务的不同业务功能,因此,不同类型的客户端对该类业务的需求可能不完全相同,例如:所涉及的业务为身份核验业务,所述业务功能为生物特征核验功能、密码核验功能、人机核验功能和证件核验功能中的任一种,客户端的需求可能是生物特征核验需求、密码核验需求、人机核验需求和证件核验需求中的至少一种。
本申请实施例,为了满足不同类型的客户端对目标业务的不同需求,打包出不同的SDK,供不同类型的客户端向用户提供不同业务功能,可以预先基于目标业务的各种业务功能将功能模块划分为多个功能子模块,一个功能子模块对应一种业务功能,包括用于实现该种业务功能的代码,能够满足客户端对该种业务功能的需求。在接收到客户端发送的打包指令后,如果所述打包指令携带有需求标识,将与所述需求标识对应的功能子模块确定为打包所需的模块,然后对打包所需的模块进行编译,获得编译文件,对获得的编译文件进行打包处理,生成所述客户端所需的SDK,所确定的模块用于满足客户端需求,可以供所述客户端向用户提供满足其需求的业务功能。因此,本申请能够根据各客户端的不同需求从功能模块所含的一份代码中提取不同的代码,打出满足各客户端的不同需求的SDK。下面将对本申请实施例进行详细描述。
图1a是本申请软件开发工具包的打包方法的一个实施例流程图,该实施例可以包括以下步骤101-104:
步骤101:接收客户端发送的打包指令。
步骤102:如果所述打包指令携带有需求标识,将与所述需求标识对应的功能子模块确定为打包所需的模块;各功能子模块的集合为功能模块,该功能模块用于同时支持目标业务的各种业务功能,所述需求标识与所述客户端所需的业务功能对应。
步骤103:对打包所需的模块进行编译,获得编译文件。
步骤104:将所述功能模块确定为打包所需的模块。
本申请实施例所提供的方案,能运行在打包服务器上,在打包SDK时可以根据发送打包指令的客户端自身的需求,确定需要将那些模块(或代码)确定为打包所需的模块(或代码),例如:对于本身携带有该目标业务的基础模块的客户端,无需将基础模块打包进SDK,对于本身未携带有该目标业务的基础模块的客户端。再例如:对于仅需要向用户提供该目标业务的部分业务功能的客户端,无需将该目标业务的功能模块整体打包进SDK,仅需要将功能模块中用于实现该部分业务功能的部分打包进SDK。
为了能有效根据客户端的需求打包SDK,可以先设置能够代表客户端需求的打包指令。在一个例子中,针对仅需要向用户提供该目标业务的部分业务功能的客户端,可以预先确定不同客户端需要向用户提供的业务功能,然后基于所确定的各种业务功能,生成能代表每种业务功能的需求标识,在需要SDK时,将需求标识添加到打包指令后,向打包服务器发送。本例子所涉及的需求标识与其所代表的业务功能,分别与相同的功能子模块对应,需求标识可以表示添加对应功能子模块,或者表示删除对应功能子模块,如果表示添加对应功能子模块,需要将所对应的功能子模块的编译文件打包到SDK;如果表示删除对应功能子模块,需要将除所对应的功能子模块外的其他功能子模块的编译文件打包到SDK。
进而,对于本身携带有该目标业务的基础模块的客户端,如果其需要向用户提供该目标业务的部分业务功能,可以向打包指令内添加能代表部分业务功能的需求标识,如果其需要向用户提供该目标业务的所有业务功能,可以不对打包指令做任何特殊处理,使用通用的打包指令,或者向打包指令内添加能代表所有业务功能的需求标识;对于本身未携带有该目标业务的基础模块的客户端,如果其需要向用户提供该目标业务的所有业务功能的客户端,可以向打包指令内添加能代表所有业务功能和基础功能的需求标识。
而打包服务器在接收到客户端的打包指令时,为了打包出满足客户端需求的SDK,可以先确定打包指令中是否携带有需求标识,将与需求标识将对应的功能子模块确定为打包所需的模块。进而,对于是否将基础模块也确定为打包所需的模块,可以先确定该客户端本身是否未携带有该目标业务的基础模块,如果无,则需要将基础模块确定为打包所需的模块;如果有,则无需将基础模块确定为打包所需的模块。
本申请提供以下几种确定客户端本身是否未携带有该目标业务的基础模块的方式:
第一种:接收到打包指令后,识别客户端的ID(身份标识号),基于识别的ID,从预存的客户端ID集合中查找识别的ID,如果查找到,则确定客户端本身携带有该目标业务的基础模块。为了快速确定客户端是否携带有该目标业务的基础模块客户端,可以记录携带有的客户端的身份标识。
第二种:接收到打包指令后,判断打包指令是否为通用的打包编译指令,如果是,则确定客户端本身携带有该目标业务的基础模块。例如:是否为通用的mvn编译命令“mvnclean install”。
第三种:接收到打包指令后,判断打包指令是否携带有需求标识,如果否,则确定客户端本身携带有该目标业务的基础模块。
在其他例子中,在接收到客户端发送的打包指令后,可以直接判断接收的打包指令是否携带有代表基础模块的需求标识,如果携带有,需要将基础模块也确定为打包所需的模块;如果未携带有,无需将基础模块也确定为打包所需的模块。
在某些场景,打包服务器还可以向携带有该目标业务的基础模块的客户端,提供该目标业务的一些扩展功能,相应的,实现该目标业务的整套代码还包括用于实现这些扩展功能的扩展代码,可以称为扩展代码,即扩展模块。在打包服务器接收到打包指令后,如果所述客户端携带有该目标业务的基础模块,可以将支持扩展功能的扩展模块也确定为打包所需的模块。
实际应用中,为了在接收到打包指令后,快速将打包指令所携带的需求标识与各功能子模块对应,获取到需要打包到SDK的功能子模块,本申请实施例可以预先将代表各功能子模块的需求标识分别与各Profile对象关联,一个Profile对象对应一个功能子模块,并执行以下功能子模块的配置过程:
采集所述目标业务的各种业务功能。
基于各种业务功能将所述功能模块划分为多个功能子模块,一个功能子模块对应一种业务功能。
通过MAVEN插件对各功能子模块进行配置,生成每个功能子模块所对应的Profile对象。
在采集所述目标业务的各种业务功能时,可以通过获取客户端的输出内容来采集,客户端的输出内容可以包括显示的输入框、播放的提示语音等,例如,该目标业务为身份核验业务时,输出的内容可以包括播放的用于提示用户进行身份核验提示语音、显示的核验信息输入框等。
通常不同种类的客户端向用户提供身份核验功能不会完全相同,在提供的身份核验功能不同时,输出内容也不完全相同,例如:支付宝需要向用户提供密码核验功能,其输出密码输入框,蚂蚁聚宝需要向用户提供身份证件核验,其输出提示用户上传身份证件的提示信息等。因此,各种输出内容与该目标业务的各种业务功能对应,根据各种客户端的输出内容可以确定采集到该目标业务的各种业务功能,然后可以将该目标业务的功能模块划分为多个功能子模块。
而在划分多个功能子模块时,可以首先从用于实现该目标业务的整套代码中识别出该功能模块的代码,然后从识别出的代码中挑选出用于实现每种业务功能的代码,将识别的每种业务功能的代码确定为用于实现该种业务功能的功能子模块。
这样将代表各功能子模块的需求标识分别与各Profile对象关联,可以通过MAVEN插件的Profile对象,快速确定与需求标识对应的功能子模块。在某些例子中,为了快速将扩展模块或基础模块确定为打包所需的模块,本申请实施例对应扩展模块、基础模块,可以分别设置关联的Profile对象。
其中,Maven是一个项目管理工具,它包含了一个项目对象模型(Project ObjectModel,POM),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
每个Profile对象可以看作是POM的一部分配置,申请人可以根据不同的应用场景应用不同的Profile对象,从而达到不同应用场景使用不同的POM配置的目的。
以身份核验业务为例,通过MAVEN插件的Profile特性,根据客户端的需求设置MAVEN插件的项目对象模型所含的Profile对象时,可以确定以下三种与客户端的需求对应的打包指令,各打包指令分别与各组Profile对象匹配:
第一种:mvn clean install,用于满足携带有身份核验业务的基础模块的客户端,与基础模块之外的各模块所对应的Profile对象匹配,代表清理掉之前打包生成的内容,重新打包除基础模块外的所有模块,然后存放到本地预设的目录下。
第二种:mvn clean install–Dnompaas,用于满足未携带有不携带有业务的基础模块的客户端,与扩展模块之外的各模块所对应的Profile对象匹配,-Dnompaas为自定义需求标识(打包命令参数),代表清理掉之前打包生成的内容,重新打包除扩展模块外的所有模块,然后存放到本地预设的目录下。
第三种,mvn clean install-Dnompaas-Dnobankcard-Dnonocaptcha-Dnosafezone-Dnofingerprint-Dnoshield-Dnosms-Dnocert-Dexportaar=true,用于满足未携带有身份核验业务的基础模块的客户端,与所携带的需求标识所对应的Profile对象匹配,代表清理掉之前打包生成的内容,重新打包除扩展模块外的基础模块、部分功能子模块等,然后存放到电脑本地预设的目录下。
其中,-Dnobankcard为自定义需求标识(打包命令参数),代表打包时不包含第一功能子模块,例如身份核验业务中储蓄客户端所需的核验模块。
-Dnonocaptcha为自定义需求标识(打包命令参数),代表打包时不包含不包含第二功能子模块,例如身份核验业务中划一划客户端所需的人机识别模块。
-Dnosafezone为自定义需求标识(打包命令参数),代表打包时不包含第三功能子模块,例如身份核验业务中安全区模块。
-Dnofingerprint为自定义需求标识(打包命令参数),代表打包时不包含第四功能子模块,例如身份核验业务中指纹模块。
-Dnoshield为自定义需求标识(打包命令参数),代表打包时不包含第五功能子模块,例如身份核验业务中密盾模块。
-Dnosms为自定义需求标识(打包命令参数),代表打包时不包含第六功能子模块,例如身份核验业务中短信模块。
-Dnocert为自定义需求标识(打包命令参数),代表打包时不包含第七功能子模块,例如身份核验业务中证书模块。
-Dexportaar=true为自定义需求标识(打包命令参数),代表打包时包含第八功能子模块,例如身份核验业务中aar模块。
在某些应用场景,如果目标业务为身份核验业务,需要向用户提供身份核验业务的客户端,可以分为携带有身份核验业务的基础模块的客户端、以及未携带有身份核验业务的基础模块的客户端,携带有身份核验业务的基础模块的客户端,如:支付宝、聚宝、口碑商户、网商银行等,未携带有身份核验业务的基础模块的客户端如:天猫、淘宝、聚划算等,该身份核验业务根据各客户端的不同,可以分为人脸核验业务、密码核验业务、指纹核验业务、密盾核验业务、安全区核验业务、软证书核验业务、短信核验业务、储蓄卡核验业务等。根据各客户端的需求划分用于实现该身份核验业务的整套代码后,划分后的代码目录如图1b所示。
参阅图1b,如图所示,划分后的代码目录包括基础实现层、适配层、核心层、公共层、产品层、扩展层。
其中,基础实现层对应基础模块,对应携带有身份核验业务的基础模块的客户端,设置为mPaas实现,表示这些客户端请求SDK时无需打包基础模块,其可以直接调用mPaas框架对应的基础模块。对应未携带有身份核验业务的基础模块的客户端,设置为export实现,表示这些客户端请求SDK时,需要打包基础模块。
适配层,是用于屏蔽下方基础实现层的差异统一接口,在打包阶段,合并入基础实现层的不同实现,并向上方提供统一接口。
核心层对应SDK的核心引擎,可以预置指向核心引擎的核心指向对象,由任一打包指令触发:该核心引擎的编译和打包过程。
公共层对应提供UI组件及其它上层公共功能的公共模块,可以预置指向公共模块公共指向对象,由任一打包指令触发:该公共模块编译和打包过程。
产品层对应身份核验业务的各种业务功能,对应携带有身份核验业务的基础模块的客户端,设置为[核身产品],表示这些客户端请求SDK时需打包所有功能子模块。对应未携带有身份核验业务的基础模块的客户端,设置为可选[核身产品],表示这些客户端请求SDK时,可以灵活取舍各种功能子模块。
扩展层对应提供扩展功能的扩展模块或输出测试工具。对应携带有身份核验业务的基础模块的客户端,设置为Mpaasbiz,表示这些客户端请求SDK时需打包扩展模块。对应未携带有身份核验业务的基础模块的客户端,设置为可选输出测试工具,表示这些客户端请求SDK时,无需打包扩展模块,打包好SDK后,需要对SDK进行输出测试,测试成功才能向客户端提供该SDK。
在其他实施例中,可以通过本领域的其他方案,在接收到打包指令后,快速将打包指令所携带的需求标识与各功能子模块对应,获取到打包所需的模块,本申请实施例可以预先将代表各功能子模块的需求标识分别与脚本关联,本申请实施例对此不做限制。
在对打包所需的模块进行打包处理时,可采用本领域惯用的SDK打包工具,生成SDK,这里提到的SDK打包工具如:AnySDK本地打包工具、Windows Vista SDK等。
打包出SDK后,如果打包指令携带有需求标识,在对获得的编译文件进行打包处理后,对打包所得的SDK进行输出测试,如果测试成功,则确定打包所得的SDK为所述客户端所需的SDK,如果测试失败,则清理掉打包所得的SDK,确定打包失败。
以下以身份核验业务为例,阐述一实例。该实例中,可以通过MAVEN插件的Profile特性,将分别代表基础模块、功能模块、扩展模块、各功能子模块的需求标识,与MAVEN插件的项目对象模型所含的各Profile对象关联;此外,根据各客户端的需求划分用于实现该身份核验业务的整套代码,划分后的代码目录如图1b所示。该实例为了满足携带有身份核验业务的基础模块的客户端的需求,可以通过图2a所示的操作流程,实现SDK打包,该SDK打包过程可以包括以下步骤201-205:
步骤201:接收客户端发送的打包指令。
步骤202:如果所述打包指令未携带有需求标识,确定该客户端携带有身份核验业务的基础模块。
步骤203:将基础模块之外的各模块确定为打包所需的模块,并查找分别与基础模块之外的各模块对应的Profile对象。
步骤204:基于查找到的Profile对象,分别对基础模块之外的各模块进行编译,获得编译文件。
步骤205:对获得的编译文件进行打包处理,生成该客户端所需的SDK。
本例子打包的SDK所含代码的代码目录如图2b所示,包括基础实现层的mPaas实现、适配层、核心层、公共层、产品层的[核身产品]以及扩展层的Mpaasbiz。
以下以身份核验业务为例,阐述一实例。该实例中,可以通过MAVEN插件的Profile特性,将分别代表基础模块、功能模块、扩展模块、各功能子模块的需求标识,与MAVEN插件的项目对象模型所含的各Profile对象关联;此外,根据各客户端的需求划分用于实现该身份核验业务的整套代码,划分后的代码目录如图1b所示。该实例为了满足未携带有身份核验业务的基础模块的客户端的需求,可以通过图3a所示的操作流程,实现SDK打包,该SDK打包过程可以包括以下步骤301-306:
步骤301:接收客户端发送的打包指令。
步骤302:如果所述打包指令携带有需求标识,确定该客户端未携带有身份核验业务的基础模块。
步骤303:将与所携带的需求标识对应的各模块确定为打包所需的模块,并查找分别与打包所需的各模块对应的Profile对象。
步骤304:基于查找到的Profile对象,分别对打包所需的各模块进行编译,获得编译文件。
步骤305:对获得的编译文件进行打包处理,生成SDK。
步骤306:对生成的SDK进行输出测试,如果测试成功,则确定生成的SDK满足该客户端的需求。
在本步骤中,如果测试失败,则清理掉打包出的SDK,并返回步骤301。
本例子打包的SDK所含代码的代码目录如图3b所示,包括基础实现层的export实现、适配层、核心层、公共层、产品层的可选[核身产品],扩展层的输出测试工具并未打包到SDK,代表打包后的SDK需要输出测试。
对于产品层的可选[核身产品],可以根据客户端的需求,灵活取舍各功能子模块,例如,可以选取全部功能子模块,也可以选取部分功能子模块。进而对打包所得SDK的大小进行有效控制,使得打包所得的SDK对未携带有身份核验业务的基础模块的客户端的输出更加友好、灵活、方便。
在其他实施例中,如果本身携带有该目标业务的基础模块的客户端,仅需要向用户提供该目标业务的部分业务功能,向打包指令内添加能代表部分业务功能的需求标识,为了在接收到打包指令后快速确定客户端是否携带有身份核验业务的基础模块,可以识别客户端的ID(身份标识号),基于识别的ID,从预存的客户端ID集合中查找识别的ID,如果查找到,则确定客户端本身携带有该目标业务的基础模块,如果未查找到,确客户端本身未携带有该目标业务的基础模块定。
由上述实施例可知:接收到客户端发送的打包指令后,如果所述打包指令携带有需求标识,将与所述需求标识对应的功能子模块确定为打包所需的模块,然后对打包所需的模块进行编译,获得编译文件,对获得的编译文件进行打包处理,生成所述客户端所需的SDK,所确定的模块用于满足客户端需求,可以供所述客户端向用户提供满足其需求的业务功能。因此,本申请能够根据各客户端的不同需求从功能模块所含的一份代码中提取不同的代码,打出满足各客户端的不同需求的SDK。进而,如果客户端下载该SDK,该SDK仅包含有该客户端需要的业务功能的代码,可以节约下载的带宽资源和时间。
本申请实施例中应用到提供身份核验业务的领域时,可以满足生物特征核验需求、密码核验需求、人机核验需求和证件核验需求中任意一种需求,或者任意两种以上需求的组合,所涉及的生物特征可以包括眼部特征、声纹、指纹、掌纹、心跳、脉搏、染色体、DNA、人牙咬痕等。其中眼纹可以包括虹膜、巩膜等生物特征。
此外,针对上述任意一种需求,还可以进一步细化该种需求,例如证件核验需求,可以细分为二代身份证核验需求、香港身份证核验需求、澳门身份证核验需求、台湾身份证核验需求及部分国外身份证核验需求,根据这些喜欢的核验需求,可以进一步细分对应的功能子模块以及设置其对应的Profile对象。
与前述软件开发工具包的打包方法的实施例相对应,本申请还提供了软件开发工具包的打包装置的实施例。
参见图4,图4是本申请软件开发工具包的打包装置的一个实施例框图,该装置可包括:指令接收模块410、指令响应模块420、功能编译模块430和打包模块440。
其中,指令接收模块410,用于接收客户端发送的打包指令。
指令响应模块420,用于在所述打包指令携带有需求标识,将与所述需求标识对应的功能子模块确定为打包所需的模块;各功能子模块的集合为功能模块,该功能模块用于同时支持目标业务的各种业务功能,所述需求标识与所述客户端所需的业务功能对应。
功能编译模块430,用于对打包所需的模块进行编译,获得编译文件。
打包模块440,用于对获得的编译文件进行打包处理,生成所述客户端所需的SDK。
在一个可选实现方式中,如果所述打包指令未携带有需求标识,本申请实施例的软件开发工具包的打包装置还可以包括(图4中未示出):
功能确定模块,用于将所述功能模块确定为打包所需的模块。
在另一个可选实现方式中,在功能编译模块430对打包所需的模块进行编译前,本申请实施例的软件开发工具包的打包装置还可以包括(图4中未示出):
扩展确定模块,用于在所述客户端携带有该目标业务的基础模块时,将支持扩展功能的扩展模块也确定为打包所需的模块。
在另一个可选实现方式中,在功能编译模块430对打包所需的模块进行编译前,本申请实施例的软件开发工具包的打包装置还可以包括(图4中未示出):
基础确定模块,用于在所述客户端未携带有该目标业务的基础模块时,将所述基础模块也确定为打包所需的模块。
在另一个可选实现方式中,如果所述打包指令携带有需求标识,在打包模块440对获得的编译文件进行打包处理后,本申请实施例的软件开发工具包的打包装置还可以包括(图4中未示出):
输出测试模块,用于对打包所得的SDK进行输出测试,如果测试成功,则确定打包所得的SDK为所述客户端所需的SDK,如果测试失败,则清理掉打包所得的SDK,确定打包失败。
在另一个可选实现方式中,所述需求标识与Profile对象关联,一个Profile对象对应一个功能子模模,本申请实施例的软件开发工具包的打包装置还可以包括(图4中未示出):
功能子模块的配置模块,所述配置模块包括:
采集模块,用于采集所述目标业务的各种业务功能;
功能划分模块,用于基于各种业务功能将所述功能模块划分为多个功能子模块,一个功能子模块对应一种业务功能;
对象配置模块,用于通过MAVEN插件对各功能子模块进行配置,生成每个功能子模块所对应的Profile对象。
在另一个可选实现方式中,所述目标业务为身份核验业务,所述业务功能为生物特征核验功能、密码核验功能、人机核验功能和证件核验功能中的任一种。
上述装置中各个单元(或模块)的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元或模块可以是或者也可以不是物理上分开的,作为单元或模块显示的部件可以是或者也可以不是物理单元或模块,即可以位于一个地方,或者也可以分布到多个网络单元或模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请软件开发工具包的打包装置的实施例可以应用在电子设备上。具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现中,电子设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备、互联网电视、智能机车、智能家居设备或者这些设备中的任意几种设备的组合。
装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器等可读介质中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请软件开发工具包的打包装置所在电子设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。电子设备的存储处理器可以是可执行指令的存储器;处理器可以耦合存储器,用于读取所述存储器存储的程序指令,并作为响应,执行如下操作:接收客户端发送的打包指令;如果所述打包指令携带有需求标识,将与所述需求标识对应的功能子模块确定为打包所需的模块;各功能子模块的集合为功能模块,该功能模块用于同时支持目标业务的各种业务功能,所述需求标识与所述客户端所需的业务功能对应;对打包所需的模块进行编译,获得编译文件;对获得的编译文件进行打包处理,生成所述客户端所需的SDK。
在其他实施例中,处理器所执行的操作可以参考上文方法实施例中相关的描述,在此不予赘述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (16)

1.一种软件开发工具包的打包方法,其特征在于,包括以下步骤:
接收客户端发送的打包指令;
如果所述打包指令携带有需求标识,将与所述需求标识对应的功能子模块确定为打包所需的模块;各功能子模块的集合为功能模块,该功能模块用于同时支持目标业务的各种业务功能,所述需求标识与所述客户端所需的业务功能对应;
对打包所需的模块进行编译,获得编译文件;
对获得的编译文件进行打包处理,生成所述客户端所需的SDK。
2.根据权利要求1所述的方法,其特征在于,如果所述打包指令未携带有需求标识,所述方法还包括以下步骤:
将所述功能模块确定为打包所需的模块。
3.根据权利要求2所述的方法,其特征在于,在对打包所需的模块进行编译前,所述方法还包括以下步骤:
如果所述客户端携带有该目标业务的基础模块,将支持扩展功能的扩展模块也确定为打包所需的模块。
4.根据权利要求1所述的方法,其特征在于,在对打包所需的模块进行编译前,所述方法还包括以下步骤:
如果所述客户端未携带有该目标业务的基础模块,将所述基础模块也确定为打包所需的模块。
5.根据权利要求1所述的方法,其特征在于,如果所述打包指令携带有需求标识,在对获得的编译文件进行打包处理后,所述方法还包括以下步骤:
对打包所得的SDK进行输出测试,如果测试成功,则确定打包所得的SDK为所述客户端所需的SDK,如果测试失败,则清理掉打包所得的SDK,确定打包失败。
6.根据权利要求1所述的方法,其特征在于,所述需求标识与Profile对象关联,一个Profile对象对应一个功能子模块,所述方法包括功能子模块的配置过程:
采集所述目标业务的各种业务功能;
基于各种业务功能将所述功能模块划分为多个功能子模块,一个功能子模块对应一种业务功能;
通过MAVEN插件对各功能子模块进行配置,生成每个功能子模块所对应的Profile对象。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述目标业务为身份核验业务,所述业务功能为生物特征核验功能、密码核验功能、人机核验功能和证件核验功能中的任一种。
8.一种电子设备,其特征在于,包括:
处理器;
存储处理器可执行指令的存储器;
其中,所述处理器耦合于所述存储器,用于读取所述存储器存储的程序指令,并作为响应,执行如下操作:
接收客户端发送的打包指令;
如果所述打包指令携带有需求标识,将与所述需求标识对应的功能子模块确定为打包所需的模块;各功能子模块的集合为功能模块,该功能模块用于同时支持目标业务的各种业务功能,所述需求标识与所述客户端所需的业务功能对应;
对打包所需的模块进行编译,获得编译文件;
对获得的编译文件进行打包处理,生成所述客户端所需的SDK。
9.一种软件开发工具包的打包装置,其特征在于,包括:
指令接收模块,用于接收客户端发送的打包指令;
指令响应模块,用于在所述打包指令携带有需求标识,将与所述需求标识对应的功能子模块确定为打包所需的模块;各功能子模块的集合为功能模块,该功能模块用于同时支持目标业务的各种业务功能,所述需求标识与所述客户端所需的业务功能对应;
功能编译模块,用于对打包所需的模块进行编译,获得编译文件;
打包模块,用于对获得的编译文件进行打包处理,生成所述客户端所需的SDK。
10.根据权利要求9所述的装置,其特征在于,如果所述打包指令未携带有需求标识,所述装置还包括:
功能确定模块,用于将所述功能模块确定为打包所需的模块。
11.根据权利要求10所述的装置,其特征在于,在所述功能编译模块对打包所需的模块进行编译前,所述装置还包括:
扩展确定模块,用于在所述客户端携带有该目标业务的基础模块时,将支持扩展功能的扩展模块也确定为打包所需的模块。
12.根据权利要求9所述的装置,其特征在于,在对打包所需的模块进行编译前,所述装置还包括:
基础确定模块,用于在所述客户端未携带有该目标业务的基础模块时,将所述基础模块也确定为打包所需的模块。
13.根据权利要求9所述的装置,其特征在于,如果所述打包指令携带有需求标识,在所述打包模块对获得的编译文件进行打包处理后,所述装置还包括:
输出测试模块,用于对打包所得的SDK进行输出测试,如果测试成功,则确定打包所得的SDK为所述客户端所需的SDK,如果测试失败,则清理掉打包所得的SDK,确定打包失败。
14.根据权利要求9所述的装置,其特征在于,所述需求标识与Profile对象关联,一个Profile对象对应一个功能子模块,所述装置还包括功能子模块的配置模块,所述配置模块包括:
采集模块,用于采集所述目标业务的各种业务功能;
功能划分模块,用于基于各种业务功能将所述功能模块划分为多个功能子模块,一个功能子模块对应一种业务功能;
对象配置模块,用于通过MAVEN插件对各功能子模块进行配置,生成每个功能子模块所对应的Profile对象。
15.根据权利要求9至14中任一项所述的装置,其特征在于,所述目标业务为身份核验业务,所述业务功能为生物特征核验功能、密码核验功能、人机核验功能和证件核验功能中的任一种。
16.一个或多个机器可读介质,其特征在于,其上存储有指令,当由一个或多个处理器执行时,使得终端设备执行如权利要求1-7中任一项所述的方法。
CN201710071942.2A 2017-02-09 2017-02-09 软件开发工具包的打包方法、装置及设备、可读介质 Pending CN107066291A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710071942.2A CN107066291A (zh) 2017-02-09 2017-02-09 软件开发工具包的打包方法、装置及设备、可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710071942.2A CN107066291A (zh) 2017-02-09 2017-02-09 软件开发工具包的打包方法、装置及设备、可读介质

Publications (1)

Publication Number Publication Date
CN107066291A true CN107066291A (zh) 2017-08-18

Family

ID=59599001

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710071942.2A Pending CN107066291A (zh) 2017-02-09 2017-02-09 软件开发工具包的打包方法、装置及设备、可读介质

Country Status (1)

Country Link
CN (1) CN107066291A (zh)

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107678755A (zh) * 2017-09-13 2018-02-09 北京京东尚科信息技术有限公司 安装包打包的方法、装置、电子设备和计算机可读介质
CN107678750A (zh) * 2017-10-27 2018-02-09 北京腾云天下科技有限公司 一种sdk打包方法、计算设备及sdk打包系统
CN107748662A (zh) * 2017-11-17 2018-03-02 深圳市泉眼网络科技有限公司 应用程序开发方法、终端及计算机可读存储介质
CN107908410A (zh) * 2017-11-02 2018-04-13 北京奇虎科技有限公司 插件备份、运行方法、装置、终端设备及存储介质
CN108647033A (zh) * 2018-04-03 2018-10-12 四川新网银行股份有限公司 一种开放平台的sdk自动打包方法
CN108829378A (zh) * 2018-05-24 2018-11-16 北京顺丰同城科技有限公司 一种应用软件的开发方法、装置及电子设备
CN109298881A (zh) * 2018-08-30 2019-02-01 百度在线网络技术(北京)有限公司 自动打包数据方法、装置、设备及计算机可读存储介质
CN109669677A (zh) * 2018-09-26 2019-04-23 深圳壹账通智能科技有限公司 借贷平台功能配置方法、设备、装置及可读存储介质
CN109783133A (zh) * 2019-01-17 2019-05-21 北京城市网邻信息技术有限公司 代码打包方法、装置、计算机设备及存储介质
CN109840109A (zh) * 2019-02-02 2019-06-04 北京字节跳动网络技术有限公司 用于生成软件开发工具包的方法和装置
CN109858257A (zh) * 2018-12-27 2019-06-07 北京互金新融科技有限公司 访问控制方法及装置
CN110321131A (zh) * 2019-07-05 2019-10-11 北京百佑科技有限公司 业务组件打包方法、系统及服务器
CN110362364A (zh) * 2019-07-23 2019-10-22 深圳市元征科技股份有限公司 软件开发工具包功能调用方法、系统及电子设备和介质
CN110531983A (zh) * 2019-08-08 2019-12-03 国云科技股份有限公司 一种基于多项目构建的前端页面按需打包方法
CN110688095A (zh) * 2018-07-04 2020-01-14 深圳市科比特航空科技有限公司 一种无人机sdk开发平台的构建方法及装置
CN110704026A (zh) * 2018-07-10 2020-01-17 武汉斗鱼网络科技有限公司 软件开发工具包的调用方法、装置、终端及可读介质
CN110989978A (zh) * 2019-11-06 2020-04-10 北京达佳互联信息技术有限公司 页面打包方法、装置、电子设备及存储介质
CN111240657A (zh) * 2020-01-17 2020-06-05 北京字节跳动网络技术有限公司 用于生成sdk的方法、装置和电子设备
CN111273943A (zh) * 2018-12-04 2020-06-12 北京嘀嘀无限科技发展有限公司 应用文件的生成方法、装置及电子设备
CN111338651A (zh) * 2020-02-19 2020-06-26 北京字节跳动网络技术有限公司 下载资源提供方法及装置、资源下载方法及装置
CN111445274A (zh) * 2018-12-27 2020-07-24 北京奇虎科技有限公司 基于广告平台的可配置打包方法及装置、计算设备
CN111562928A (zh) * 2020-04-28 2020-08-21 北京字节跳动网络技术有限公司 资源提供方法及装置、资源下载方法及装置
CN111684420A (zh) * 2019-06-12 2020-09-18 深圳市大疆创新科技有限公司 功能模块的调用方法、设备、计算机可读存储介质
CN111796802A (zh) * 2020-06-30 2020-10-20 北京字节跳动网络技术有限公司 功能包生成方法、装置和电子设备
CN111813416A (zh) * 2019-04-11 2020-10-23 杭州海康威视系统技术有限公司 文件打包方法、装置及设备、存储介质
CN112306504A (zh) * 2020-11-03 2021-02-02 平安普惠企业管理有限公司 基于配置需求的模块部署方法、装置、设备及存储介质
CN112711409A (zh) * 2019-10-25 2021-04-27 杭州海康威视数字技术股份有限公司 应用程序开发、运行方法、系统及智能分析设备
CN113326038A (zh) * 2021-06-11 2021-08-31 北京百度网讯科技有限公司 用于提供服务的方法、装置、设备、存储介质及程序产品
CN113392388A (zh) * 2021-05-19 2021-09-14 杭州宇泛智能科技有限公司 终端、云端校验自主定制服务的方法及系统
CN113434192A (zh) * 2021-08-26 2021-09-24 广州易方信息科技股份有限公司 基于sdk平台的打包方法、装置以及计算机设备
CN114816370A (zh) * 2022-06-29 2022-07-29 广州易方信息科技股份有限公司 一种对iOS端SDK静态库进行任意细粒度拆分的方法
CN115454391A (zh) * 2022-11-11 2022-12-09 零氪科技(北京)有限公司 客户端、客户端构建方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103713896A (zh) * 2013-12-17 2014-04-09 北京京东尚科信息技术有限公司 用于访问服务器的软件开发工具包生成方法及装置
US20140379925A1 (en) * 2013-06-21 2014-12-25 Electronics And Telecommunications Research Institute Apparatus and method for interworking between app store servers to share application information
CN104516755A (zh) * 2013-10-08 2015-04-15 博雅网络游戏开发(深圳)有限公司 安装包生成方法和装置
CN105049532A (zh) * 2015-08-28 2015-11-11 北京奇艺世纪科技有限公司 一种sdk包的打包方法及装置和下载方法及装置
CN105094830A (zh) * 2015-07-31 2015-11-25 小米科技有限责任公司 一种执行目标功能的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140379925A1 (en) * 2013-06-21 2014-12-25 Electronics And Telecommunications Research Institute Apparatus and method for interworking between app store servers to share application information
CN104516755A (zh) * 2013-10-08 2015-04-15 博雅网络游戏开发(深圳)有限公司 安装包生成方法和装置
CN103713896A (zh) * 2013-12-17 2014-04-09 北京京东尚科信息技术有限公司 用于访问服务器的软件开发工具包生成方法及装置
CN105094830A (zh) * 2015-07-31 2015-11-25 小米科技有限责任公司 一种执行目标功能的方法和装置
CN105049532A (zh) * 2015-08-28 2015-11-11 北京奇艺世纪科技有限公司 一种sdk包的打包方法及装置和下载方法及装置

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107678755A (zh) * 2017-09-13 2018-02-09 北京京东尚科信息技术有限公司 安装包打包的方法、装置、电子设备和计算机可读介质
CN107678755B (zh) * 2017-09-13 2021-01-26 北京京东尚科信息技术有限公司 安装包打包的方法、装置、电子设备和计算机可读介质
CN107678750A (zh) * 2017-10-27 2018-02-09 北京腾云天下科技有限公司 一种sdk打包方法、计算设备及sdk打包系统
CN107908410A (zh) * 2017-11-02 2018-04-13 北京奇虎科技有限公司 插件备份、运行方法、装置、终端设备及存储介质
CN107748662A (zh) * 2017-11-17 2018-03-02 深圳市泉眼网络科技有限公司 应用程序开发方法、终端及计算机可读存储介质
CN108647033A (zh) * 2018-04-03 2018-10-12 四川新网银行股份有限公司 一种开放平台的sdk自动打包方法
CN108829378A (zh) * 2018-05-24 2018-11-16 北京顺丰同城科技有限公司 一种应用软件的开发方法、装置及电子设备
CN108829378B (zh) * 2018-05-24 2022-06-21 北京顺丰同城科技有限公司 一种应用软件的开发方法、装置及电子设备
CN110688095B (zh) * 2018-07-04 2023-08-25 深圳市科比特航空科技有限公司 一种无人机sdk开发平台的构建方法及装置
CN110688095A (zh) * 2018-07-04 2020-01-14 深圳市科比特航空科技有限公司 一种无人机sdk开发平台的构建方法及装置
CN110704026A (zh) * 2018-07-10 2020-01-17 武汉斗鱼网络科技有限公司 软件开发工具包的调用方法、装置、终端及可读介质
CN109298881A (zh) * 2018-08-30 2019-02-01 百度在线网络技术(北京)有限公司 自动打包数据方法、装置、设备及计算机可读存储介质
CN109669677A (zh) * 2018-09-26 2019-04-23 深圳壹账通智能科技有限公司 借贷平台功能配置方法、设备、装置及可读存储介质
CN111273943A (zh) * 2018-12-04 2020-06-12 北京嘀嘀无限科技发展有限公司 应用文件的生成方法、装置及电子设备
CN111445274B (zh) * 2018-12-27 2024-04-05 三六零科技集团有限公司 基于广告平台的可配置打包方法及装置、计算设备
CN109858257A (zh) * 2018-12-27 2019-06-07 北京互金新融科技有限公司 访问控制方法及装置
CN109858257B (zh) * 2018-12-27 2021-06-18 北京互金新融科技有限公司 访问控制方法及装置
CN111445274A (zh) * 2018-12-27 2020-07-24 北京奇虎科技有限公司 基于广告平台的可配置打包方法及装置、计算设备
CN109783133A (zh) * 2019-01-17 2019-05-21 北京城市网邻信息技术有限公司 代码打包方法、装置、计算机设备及存储介质
CN109783133B (zh) * 2019-01-17 2022-03-22 北京城市网邻信息技术有限公司 代码打包方法、装置、计算机设备及存储介质
CN109840109A (zh) * 2019-02-02 2019-06-04 北京字节跳动网络技术有限公司 用于生成软件开发工具包的方法和装置
CN109840109B (zh) * 2019-02-02 2022-04-19 北京字节跳动网络技术有限公司 用于生成软件开发工具包的方法和装置
CN111813416A (zh) * 2019-04-11 2020-10-23 杭州海康威视系统技术有限公司 文件打包方法、装置及设备、存储介质
CN111684420A (zh) * 2019-06-12 2020-09-18 深圳市大疆创新科技有限公司 功能模块的调用方法、设备、计算机可读存储介质
CN110321131A (zh) * 2019-07-05 2019-10-11 北京百佑科技有限公司 业务组件打包方法、系统及服务器
CN110321131B (zh) * 2019-07-05 2022-11-08 北京百佑科技有限公司 业务组件打包方法、系统及服务器
CN110362364A (zh) * 2019-07-23 2019-10-22 深圳市元征科技股份有限公司 软件开发工具包功能调用方法、系统及电子设备和介质
CN110531983A (zh) * 2019-08-08 2019-12-03 国云科技股份有限公司 一种基于多项目构建的前端页面按需打包方法
CN112711409A (zh) * 2019-10-25 2021-04-27 杭州海康威视数字技术股份有限公司 应用程序开发、运行方法、系统及智能分析设备
CN110989978A (zh) * 2019-11-06 2020-04-10 北京达佳互联信息技术有限公司 页面打包方法、装置、电子设备及存储介质
CN111240657A (zh) * 2020-01-17 2020-06-05 北京字节跳动网络技术有限公司 用于生成sdk的方法、装置和电子设备
CN111338651B (zh) * 2020-02-19 2023-04-21 北京字节跳动网络技术有限公司 下载资源提供方法及装置、资源下载方法及装置
CN111338651A (zh) * 2020-02-19 2020-06-26 北京字节跳动网络技术有限公司 下载资源提供方法及装置、资源下载方法及装置
CN111562928A (zh) * 2020-04-28 2020-08-21 北京字节跳动网络技术有限公司 资源提供方法及装置、资源下载方法及装置
CN111562928B (zh) * 2020-04-28 2023-05-05 北京字节跳动网络技术有限公司 资源提供方法及装置、资源下载方法及装置
CN111796802A (zh) * 2020-06-30 2020-10-20 北京字节跳动网络技术有限公司 功能包生成方法、装置和电子设备
CN111796802B (zh) * 2020-06-30 2023-09-12 北京字节跳动网络技术有限公司 功能包生成方法、装置和电子设备
CN112306504A (zh) * 2020-11-03 2021-02-02 平安普惠企业管理有限公司 基于配置需求的模块部署方法、装置、设备及存储介质
CN113392388A (zh) * 2021-05-19 2021-09-14 杭州宇泛智能科技有限公司 终端、云端校验自主定制服务的方法及系统
CN113326038A (zh) * 2021-06-11 2021-08-31 北京百度网讯科技有限公司 用于提供服务的方法、装置、设备、存储介质及程序产品
CN113326038B (zh) * 2021-06-11 2023-11-10 北京百度网讯科技有限公司 用于提供服务的方法、装置、设备、存储介质及程序产品
CN113434192B (zh) * 2021-08-26 2021-12-07 广州易方信息科技股份有限公司 基于sdk平台的打包方法、装置以及计算机设备
CN113434192A (zh) * 2021-08-26 2021-09-24 广州易方信息科技股份有限公司 基于sdk平台的打包方法、装置以及计算机设备
CN114816370A (zh) * 2022-06-29 2022-07-29 广州易方信息科技股份有限公司 一种对iOS端SDK静态库进行任意细粒度拆分的方法
CN115454391A (zh) * 2022-11-11 2022-12-09 零氪科技(北京)有限公司 客户端、客户端构建方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN107066291A (zh) 软件开发工具包的打包方法、装置及设备、可读介质
CN105224869B (zh) 组件测试方法和装置
CN105138924B (zh) 未登录状态下保存应用操作信息的方法和设备
CN106649120A (zh) 一种数据获取方法、分析方法及系统
CN106970820A (zh) 代码存储方法及代码存储装置
CN109189381B (zh) 一种业务流组件的创建方法及装置
CN106502746A (zh) 应用程序的打包方法及装置
CN110532176A (zh) 一种智能合约的形式化验证方法、电子装置及存储介质
US11640464B2 (en) Protocol model learning and guided firmware analysis
CN108595187A (zh) 安卓安装包集成软件开发工具包的法、装置及存储介质
CN105204917B (zh) 在应用程序启动时加载配置文件的方法及装置
JP2012099105A (ja) 対話的クライアント‐サーバー・アプリケーションの分散式並列クロールを協調させる技法
CN110287696A (zh) 一种反弹shell进程的检测方法、装置和设备
CN109492181A (zh) 页面跳转方法、装置、计算机设备和存储介质
CN113326030A (zh) 一种业务请求的处理方法和装置
CN109885535A (zh) 一种文件存储的方法及相关装置
CN113568604B (zh) 风控策略的更新方法、装置及计算机可读存储介质
BAIDADA et al. A new approach for recovering high-level sequence diagrams from object-oriented applications using petri nets
CN106933642A (zh) 应用程序的处理方法及处理装置
JP5742666B2 (ja) 状態グラフを同期させる方法、製品及び電子装置
CN108920179A (zh) Java反射实现方法、装置和系统
CN110334103A (zh) 推荐服务的更新方法、提供装置、访问装置和推荐系统
CN103701671B (zh) 一种检测业务之间存在冲突的方法及装置
WO2005010749A2 (en) Designing computer programs
Barros et al. Static analysis for improved modularity of procedural web application programming interfaces

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
TA01 Transfer of patent application right

Effective date of registration: 20200923

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200923

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20170818

RJ01 Rejection of invention patent application after publication