CN110531985A - Sdk初始化方法及系统、电子设备、存储介质 - Google Patents
Sdk初始化方法及系统、电子设备、存储介质 Download PDFInfo
- Publication number
- CN110531985A CN110531985A CN201910735146.3A CN201910735146A CN110531985A CN 110531985 A CN110531985 A CN 110531985A CN 201910735146 A CN201910735146 A CN 201910735146A CN 110531985 A CN110531985 A CN 110531985A
- Authority
- CN
- China
- Prior art keywords
- sdk
- parameter
- file
- initialization
- dependence
- 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
- 238000000034 method Methods 0.000 title claims abstract description 83
- 230000000977 initiatory effect Effects 0.000 claims abstract description 55
- 230000008569 process Effects 0.000 claims abstract description 29
- 238000011144 upstream manufacturing Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 241000208340 Araliaceae Species 0.000 claims description 5
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims description 5
- 235000003140 Panax quinquefolius Nutrition 0.000 claims description 5
- 235000008434 ginseng Nutrition 0.000 claims description 5
- 238000011161 development Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 101000716310 Homo sapiens Protein sidekick-2 Proteins 0.000 description 3
- 101800000618 Protein kinase C delta type catalytic subunit Proteins 0.000 description 3
- 102100021004 Protein sidekick-1 Human genes 0.000 description 3
- 102100021005 Protein sidekick-2 Human genes 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000739 chaotic effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供一种SDK初始化方法及系统、电子设备、存储介质,其中,方法应用于具有多个SDK的初始化任务,SDK注解有元信息;元信息包括:依赖关系和初始化参数;方法包括:在SDK初始化任务启动时,根据SDK的依赖关系确定多个SDK的初始化顺序;针对待进行初始化的目标SDK,获取目标SDK的初始化参数的参数值,并将参数值赋值至目标SDK中。本发明通过配置文件和元信息声明的方式,实现了对多个SDK的初始化,不需要开发人员手动调用初始化方法,简化了SDK接入,规范了初始化流程,实现了初始化与代码的隔离,帮助项目管理者一目了然地搞清楚多个SDK的初始化流程。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种SDK(Software Development Kit,软件开发工具包)初始化方法及系统、电子设备、存储介质。
背景技术
随着应用程序依赖SDK的增加,SDK依赖混乱、难以管控的问题渐渐地凸显出来。应用产生的疑难杂症,很多都是因开发应用程序时SDK初始化流程混乱而引发的。
目前,开发人员手动管理SDK初始化流程是最为常用的初始化方式,开发人员在进行应用程序开发前,必须弄清楚各个SDK之间的依赖关系,以按SDK使用文档要求,将SDK初始化方法接入到应用启动流程中。这种初始化方式,参数之间的传递,方法之间的调用,都是通过Java语法实现的,其虽然为开发人员保留了开发语言的最大的灵活性,但是这种方式对开发人员的技术要求较高,同时对SDK的学习成本较高。开发人员必须弄清楚每个初始化方法的意义,以及各个SDK之间的依赖关系,才能够准确的将SDK接入到应用中。同时,这种方式将初始化方法集成到代码里,散落在项目java文件的各个角落。这使得,项目管理者无法管控整个初始化流程。
发明内容
有鉴于此,本公开提供一种SDK初始化方法及系统、电子设备、存储介质,有利于简化程序开发过程中SDK接入流程,规范初始化流程。
根据本公开实施例的第一方面,提供了一种应用程序的SDK初始化方法,应用于具有多个SDK的SDK初始化任务,SDK注解有元信息;所述元信息包括:依赖关系和初始化参数;
所述SDK初始化方法包括:
在所述SDK初始化任务启动时,根据所述SDK的依赖关系确定所述多个SDK的初始化顺序;
针对待进行初始化的目标SDK,获取所述目标SDK的初始化参数的参数值,并将所述参数值赋值至所述目标SDK中。
较佳地,获取所述目标SDK的初始化参数的参数值的步骤,具体包括:
从所述SDK的配置文件中查找所述初始化参数的参数值。
较佳地,所述元信息编译在描述文件中;
所述SDK初始化方法还包括:
在所述SDK初始化任务启动时,获取所述描述文件,并从所述描述文件中获取所述依赖关系和所述初始化参数。
较佳地,所述描述文件的编译过程包括:
采用第一编译工具从所述SDK的元信息中提取所述依赖关系和所述初始化参数,并分别对所述依赖关系和所述初始化参数进行编译,得到关系文件和参数文件;
采用第二编译工具编译所述关系文件和所述参数文件,得到所述描述文件。
较佳地,所述依赖关系包括:所述SDK的上游SDK名称和/或下游SDK名称。
根据本公开实施例的第二方面,提供了一种SDK初始化系统,应用于具有多个SDK的SDK初始化任务,SDK注解有元信息;所述元信息包括:依赖关系和初始化参数;
所述SDK初始化系统包括:
顺序获取模块,用于在所述SDK初始化任务启动时,根据所述SDK的依赖关系确定所述多个SDK的初始化顺序;
参数赋值模块,针对待进行初始化的目标SDK,获取所述目标SDK的初始化参数的参数值,并将所述参数值赋值至所述目标SDK中。
较佳地,所述参数赋值模块具体用于从所述SDK的配置文件中查找所述初始化参数的参数值。
较佳地,所述元信息编译在描述文件中;
所述SDK初始化系统还包括:
文件获取模块,用于在所述SDK初始化任务启动时,获取所述描述文件,并从所述描述文件中获取所述依赖关系和所述初始化参数。
较佳地,所述SDK初始化系统还包括:
调用模块,用于调用第一编译工具,以从所述SDK的元信息中提取所述依赖关系和所述初始化参数,并分别对所述依赖关系和所述初始化参数进行编译,得到关系文件和参数文件;
所述调用模块还用于调用第二编译工具编译所述关系文件和所述参数文件,得到所述描述文件。
根据本公开实施例的第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一所述方法的步骤。
根据本公开实施例的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述方法的步骤。
本公开实施例提供的技术方案可以包括以下有益效果:
本发明实施例中,借助SDK的元信息注解,确定初始化任务中多个SDK的初始化顺序及每个SDK对应的初始化参数,并通过配置文件的方式,将初始化参数的参数值自动赋值给对应的SDK,从而实现了多个SDK的初始化。该方法通过配置文件和元信息声明的方式,实现了将初始化方法的调用隐藏起来,不需要应用程序开发人员手动编写代码,调用初始化方法,既能实现SDK的初始化。也就是说,在开发应用程序过程中,应用开发人员对SDK的配置文件中的初始化参数的参数值进行设置即可,无需熟知整个初始化流程,节省了SDK接入时间,帮助开发人员简化了初始化流程,同时有利于帮助项目负责人把控初始化流程。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本发明实施例1示出的SDK初始化方法的流程图;
图2是本发明实施例2示出的SDK初始化系统的模块示意图;
图3是本发明实施例3示出的电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
实施例1
本实施例提供一种SDK初始化方法,应用于具有多个SDK的SDK初始化任务,例如该方法可对应用程序的SDK、Java后端的SDK等实现初始化。SDK注解有元信息。
其中,元信息包括:SDK的模块名(也即SDK名称)、SDK模块内部包含的子模块名(所有子模块组合实现SDK模块的功能任务)、依赖关系和初始化参数等。依赖关系包括SDK初始化任务中每个SDK的上游SDK名称和/或下游SDK名称。所谓上下游SDK即为与一个SDK的启动顺序有关的其他SDK。以实时通讯应用为例,其包括接收信息SDK和显示信息SDK,应用使用过程中,先使用接收信息SDK接收信息,后使用显示信息SDK显示信息,从而接收信息SDK即为显示信息SDK的上游SDK,相对应地,显示信息SDK即为接收信息SDK的下游SDK。SDK开发人员在编写SDK源代码时,通过注解该SDK的上游SDK名称和/或下游SDK名称,即实现了对多个SDK的启动顺序的限定。
如图1所示,本实施例的初始化方法包括:
步骤101、在初始化任务启动时,根据SDK的依赖关系确定多个SDK的初始化顺序。
以使用该方法实现应用程序的SDK初始化为例,初始化任务启动的触发条件例如可以是应用程序的启动、应用程序触发后的一时间段之后,也即在应用程序启动时,或应用程序触发一时间段(例如,5s)后,启动SDK初始化任务。
还是以使用该方法实现应用程序的SDK初始化为例,根据依赖关系确定多个SDK的初始化顺序,也即收集应用程序的所有SDK被注解的元信息描述,并且根据元信息中的模块名、依赖关系,构建SDK依赖关系图(也即确定多个SDK的初始化顺序),以根据该初始化顺序逐个启动SDK进行初始化。
举例来说,若一个初始化任务需要对SDK1、SDK2、SDK3、SDK4这4个SDK进行初始化,构建的依赖关系图如下:
SDK1→SDK2→SDK3→SDK4;
初始化过程中,依次启动SDK1、SDK2、SDK3、SDK4。
本实施例中,SDK的元信息编译在描述文件中,在SDK初始化任务启动时,方法还包括:
获取描述文件,并从描述文件中获取依赖关系和初始化参数。
以下提供一种编译描述文件的可能的实现方式:
步骤a、采用第一编译工具从SDK源代码的元信息中提取依赖关系和初始化参数,并分别对依赖关系和初始化参数进行编译,得到关系文件和参数文件。
其中,第一编译工具可以但不限于使用APT(Annotation Processing Tool,注解处理器)编译工具,步骤a也即SDK开发过程中,在编译SDK源代码时,对于初始化参数的编译,收集SDK源代码的元信息中的参数描述部分,包括:SDK的模块名、初始化参数,并根据参数描述部分生成参数文件(描述初始化参数的Java文件);对于依赖关系的编译,收集SDK源代码的元信息中的关系描述部分,包括:SDK的模块名、SDK模块内部包含的子模块名、依赖关系,并根据关系描述部分生成关系文件(描述依赖关系的Java文件)。其中,子模块名用于描述SDK的嵌套关系。需要说明的是,子模块名并不是必选项,只有在SDK开发过程中,定义了SDK的子模块,才需要获取子模块名。
步骤b、采用第二编译工具编译关系文件和参数文件,得到描述文件。
其中,第二编译工具可以但不限于使用Gradle-Plugin(一种构建工具)编译时工具,以初始化任务是初始化应用程序的SDK为例,步骤b也即应用程序开发过程中,通过Gradle-Plugin(一种构建工具)编译时工具,收集应用程序开发人员所需的所有APT生成的参数文件和关系文件,并统一到描述文件。需要说明的是,描述文件可以是class文件(一种支持特定硬件平台和操作系统的二进制文件),也可以是应用程序开发人员自定义的文件。
初始化SDK的过程中,可以但不限于采用hook(钩子)方法实现从描述文件中获取初始化参数和依赖关系。
步骤102、针对待进行初始化的目标SDK,获取目标SDK的初始化参数的参数值,并将参数值赋值至目标SDK中。
步骤102中,具体从应用程序的资源文件中读取SDK的初始化参数配置文件,并从该配置文件中查找与目标SDK的初始化参数对应的参数值,并将该参数值赋值到目标SDK中,以实现目标SDK的初始化。其中,配置文件中的参数值根据应用程序开发人员的实际需求自行设置。需要说明的是,初始化过程中,当前启动的SDK也即目标SDK。
本实施例中,借助SDK的元信息注解,确定初始化任务中多个SDK的初始化顺序及每个SDK对应的初始化参数,并通过配置文件的方式,将初始化参数的参数值自动赋值给对应的SDK,从而实现了多个SDK的初始化。该方法通过配置文件和元信息声明的方式,实现了将初始化方法的调用隐藏起来,不需要应用程序开发人员手动编写代码,调用初始化方法,既能实现SDK的初始化。也就是说,在开发应用程序过程中,应用开发人员对SDK的配置文件中的初始化参数的参数值进行设置即可,无需熟知整个初始化流程,节省了SDK接入时间,帮助开发人员简化了初始化流程,同时有利于帮助项目负责人把控初始化流程。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。
其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
实施例2
本实施例提供一种SDK初始化系统,应用于具有多个SDK的SDK初始化任务,例如该方法可对应用程序的SDK、Java后端的SDK等实现初始化。SDK注解有元信息。
其中,元信息包括:SDK的模块名(也即SDK名称)、SDK模块内部包含的子模块名(所有子模块组合实现SDK模块的功能任务)、依赖关系和初始化参数等。依赖关系包括SDK初始化任务中每个SDK的上游SDK名称和/或下游SDK名称。所谓上下游SDK即为与一个SDK的启动顺序有关的其他SDK。以实时通讯应用为例,其包括接收信息SDK和显示信息SDK,应用使用过程中,先使用接收信息SDK接收信息,后使用显示信息SDK显示信息,从而接收信息SDK即为显示信息SDK的上游SDK,相对应地,显示信息SDK即为接收信息SDK的下游SDK。SDK开发人员在编写SDK源代码时,通过注解该SDK的上游SDK名称和/或下游SDK名称,即实现了对多个SDK的启动顺序的限定。
如图2所示,本实施例的SDK初始化系统包括顺序获取模块1、参数赋值模块2、文件获取模块3和调用模块4。
顺序获取模块1用于在SDK初始化任务启动时,根据SDK的依赖关系确定多个SDK的初始化顺序,然后调用参数赋值模块2。
以使用该方法实现应用程序的SDK初始化为例,初始化任务启动的触发条件例如可以是应用程序的启动、应用程序触发后的一时间段之后,也即在应用程序启动时,或应用程序触发一时间段(例如,5s)后,启动SDK初始化任务。
还是以使用该方法实现应用程序的SDK初始化为例,根据依赖关系确定多个SDK的初始化顺序,也即收集应用程序的所有SDK被注解的元信息描述,并且根据元信息中的模块名、依赖关系,构建SDK依赖关系图(也即确定多个SDK的初始化顺序),以根据该初始化顺序逐个启动SDK进行初始化。
本实施例中,SDK的元信息编译在描述文件中。在SDK初始化任务启动时,文件获取模块3先获取描述文件,并从描述文件中获取依赖关系和初始化参数,然后调用顺序获取模块1以确定多个SDK的初始化顺序。
以下提供一种编译描述文件的可能的实现方式:
调用模块4调用第一编译工具,以从SDK源代码的元信息中提取依赖关系和初始化参数,并分别对依赖关系和初始化参数进行编译,得到关系文件和参数文件。
其中,第一编译工具可以但不限于使用APT(Annotation Processing Tool,注解处理器)编译工具。在SDK开发过程中,调用模块4调用APT,以在编译SDK源代码时,对于初始化参数的编译,收集SDK源代码的元信息中的参数描述部分,包括:SDK的模块名、初始化参数;对于依赖关系的编译,收集SDK源代码的元信息中的关系描述部分,包括:SDK的模块名、SDK模块内部包含的子模块名、依赖关系,以分别生成参数文件(描述初始化参数的Java文件)和关系文件(描述依赖关系的Java文件);
调用模块4还调用第二编译工具编译关系文件和参数文件,得到描述文件。
其中,第二编译工具可以但不限于使用Gradle-Plugin(一种构建工具)编译时工具。以初始化任务是初始化应用程序的SDK为例,应用程序开发过程中,调用模块调用Gradle-Plugin(一种构建工具)编译时工具,以收集应用程序开发人员所需的所有APT生成的参数文件和关系文件,并统一到描述文件。需要说明的是,描述文件可以是class文件(一种支持特定硬件平台和操作系统的二进制文件),也可以是应用程序开发人员自定义的文件。
初始化SDK的过程中,文件获取模块3可以但不限于采用hook(钩子)方法实现从描述文件中获取初始化参数和依赖关系。
参数赋值模块2用于针对待进行初始化的目标SDK,获取目标SDK的初始化参数的参数值,并将参数值赋值至目标SDK中。
具体的,参数赋值模块2从应用程序的资源文件中读取SDK的初始化参数配置文件,并从该配置文件中查找与目标SDK的初始化参数对应的参数值,并将该参数值赋值到目标SDK中,以实现目标SDK的初始化。其中,配置文件中的参数值根据应用程序开发人员的实际需求自行设置。需要说明的是,初始化过程中,当前启动的SDK也即目标SDK。
本实施例中,借助SDK的元信息注解,确定初始化任务中多个SDK的初始化顺序及每个SDK对应的初始化参数,并通过配置文件的方式,将初始化参数的参数值自动赋值给对应的SDK,从而实现了多个SDK的初始化。该方法通过配置文件和元信息声明的方式,实现了将初始化方法的调用隐藏起来,不需要应用程序开发人员手动编写代码,调用初始化方法,既能实现SDK的初始化。也就是说,在开发应用程序过程中,应用开发人员对SDK的配置文件中的初始化参数的参数值进行设置即可,无需熟知整个初始化流程,节省了SDK接入时间,帮助开发人员简化了初始化流程,同时有利于帮助项目负责人把控初始化流程。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
实施例3
图3为本发明实施例提供的一种电子设备的结构示意图,示出了适于用来实现本发明实施方式的示例性电子设备90的框图。图3显示的电子设备90仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图3所示,电子设备90可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备90的组件可以包括但不限于:上述至少一个处理器91、上述至少一个存储器92、连接不同系统组件(包括存储器92和处理器91)的总线93。
总线93包括数据总线、地址总线和控制总线。
存储器92可以包括易失性存储器,例如随机存取存储器(RAM)921和/或高速缓存存储器922,还可以进一步包括只读存储器(ROM)923。
存储器92还可以包括具有一组(至少一个)程序模块924的程序工具925(或实用工具),这样的程序模块924包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器91通过运行存储在存储器92中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1所提供的SDK初始化方法。
电子设备90也可以与一个或多个外部设备94(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口95进行。并且,模型生成的电子设备90还可以通过网络适配器96与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器96通过总线93与模型生成的电子设备90的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的电子设备90使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
实施例4
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1所提供的SDK初始化方法的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1所述的SDK初始化方法中的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
应当理解的是,本公开并不局限于上面已经描述,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (12)
1.一种软件开发工具包SDK初始化方法,应用于具有多个SDK的SDK初始化任务,其特征在于,SDK注解有元信息;所述元信息包括:依赖关系和初始化参数;
所述SDK初始化方法包括:
在所述SDK初始化任务启动时,根据所述SDK的依赖关系确定所述多个SDK的初始化顺序;
针对待进行初始化的目标SDK,获取所述目标SDK的初始化参数的参数值,并将所述参数值赋值至所述目标SDK中。
2.如权利要求1所述的SDK初始化方法,其特征在于,获取所述目标SDK的初始化参数的参数值的步骤,具体包括:
从所述SDK的配置文件中查找所述初始化参数的参数值。
3.如权利要求1所述的SDK初始化方法,其特征在于,所述元信息编译在描述文件中;
所述SDK初始化方法还包括:
在所述SDK初始化任务启动时,获取所述描述文件,并从所述描述文件中获取所述依赖关系和所述初始化参数。
4.如权利要求3所述的SDK初始化方法,其特征在于,所述描述文件的编译过程包括:
采用第一编译工具从所述SDK的元信息中提取所述依赖关系和所述初始化参数,并分别对所述依赖关系和所述初始化参数进行编译,得到关系文件和参数文件;
采用第二编译工具编译所述关系文件和所述参数文件,得到所述描述文件。
5.如权利要求1-4中任意一项所述的SDK初始化方法,其特征在于,所述依赖关系包括:所述SDK的上游SDK名称和/或下游SDK名称。
6.一种SDK初始化系统,应用于具有多个SDK的SDK初始化任务,其特征在于,SDK注解有元信息;所述元信息包括:依赖关系和初始化参数;
所述SDK初始化系统包括:
顺序获取模块,用于在所述SDK初始化任务启动时,根据所述SDK的依赖关系确定所述多个SDK的初始化顺序;
参数赋值模块,针对待进行初始化的目标SDK,获取所述目标SDK的初始化参数的参数值,并将所述参数值赋值至所述目标SDK中。
7.如权利要求6所述的SDK初始化系统,其特征在于,所述参数赋值模块具体用于从所述SDK的配置文件中查找所述初始化参数的参数值。
8.如权利要求6所述的SDK初始化系统,其特征在于,所述元信息编译在描述文件中;
所述SDK初始化系统还包括:
文件获取模块,用于在所述SDK初始化任务启动时,获取所述描述文件,并从所述描述文件中获取所述依赖关系和所述初始化参数。
9.如权利要求8所述的SDK初始化系统,其特征在于,所述SDK初始化系统还包括:
调用模块,用于调用第一编译工具,以从所述SDK的元信息中提取所述依赖关系和所述初始化参数,并分别对所述依赖关系和所述初始化参数进行编译,得到关系文件和参数文件;
所述调用模块还用于调用第二编译工具编译所述关系文件和所述参数文件,得到所述描述文件。
10.如权利要求6-9中任意一项所述的SDK初始化系统,其特征在于,所述依赖关系包括:所述SDK的上游SDK名称和/或下游SDK名称。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述的SDK初始化方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述的SDK初始化方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910735146.3A CN110531985A (zh) | 2019-08-09 | 2019-08-09 | Sdk初始化方法及系统、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910735146.3A CN110531985A (zh) | 2019-08-09 | 2019-08-09 | Sdk初始化方法及系统、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110531985A true CN110531985A (zh) | 2019-12-03 |
Family
ID=68662188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910735146.3A Pending CN110531985A (zh) | 2019-08-09 | 2019-08-09 | Sdk初始化方法及系统、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110531985A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111638906A (zh) * | 2020-05-15 | 2020-09-08 | 郑州阿帕斯数云信息科技有限公司 | 一种软件开发工具包sdk接入方法、装置和系统 |
CN112181388A (zh) * | 2020-09-25 | 2021-01-05 | 广州虎牙科技有限公司 | Sdk组件的初始化方法、装置、存储介质及控制终端 |
CN112667509A (zh) * | 2020-12-28 | 2021-04-16 | 郑州阿帕斯数云信息科技有限公司 | Sdk的接入测试方法及装置 |
CN113918235A (zh) * | 2021-09-17 | 2022-01-11 | 北京房江湖科技有限公司 | 应用加载的方法及装置、计算机程序产品和存储介质 |
CN117934259A (zh) * | 2024-03-20 | 2024-04-26 | 浙江凌迪数字科技有限公司 | 任务流程图的生成方法、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766101A (zh) * | 2017-09-30 | 2018-03-06 | 五八有限公司 | App启动事件的处理方法、装置和设备 |
CN107943576A (zh) * | 2017-12-14 | 2018-04-20 | 中国平安人寿保险股份有限公司 | 应用程序的启动优化方法、装置、设备、系统及介质 |
CN109783158A (zh) * | 2019-01-14 | 2019-05-21 | 深圳市脸萌科技有限公司 | 应用启动任务处理方法及装置 |
-
2019
- 2019-08-09 CN CN201910735146.3A patent/CN110531985A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766101A (zh) * | 2017-09-30 | 2018-03-06 | 五八有限公司 | App启动事件的处理方法、装置和设备 |
CN107943576A (zh) * | 2017-12-14 | 2018-04-20 | 中国平安人寿保险股份有限公司 | 应用程序的启动优化方法、装置、设备、系统及介质 |
CN109783158A (zh) * | 2019-01-14 | 2019-05-21 | 深圳市脸萌科技有限公司 | 应用启动任务处理方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111638906A (zh) * | 2020-05-15 | 2020-09-08 | 郑州阿帕斯数云信息科技有限公司 | 一种软件开发工具包sdk接入方法、装置和系统 |
CN111638906B (zh) * | 2020-05-15 | 2023-02-03 | 郑州阿帕斯数云信息科技有限公司 | 一种软件开发工具包sdk接入方法、装置和系统 |
CN112181388A (zh) * | 2020-09-25 | 2021-01-05 | 广州虎牙科技有限公司 | Sdk组件的初始化方法、装置、存储介质及控制终端 |
CN112181388B (zh) * | 2020-09-25 | 2024-03-01 | 广州虎牙科技有限公司 | Sdk组件的初始化方法、装置、存储介质及控制终端 |
CN112667509A (zh) * | 2020-12-28 | 2021-04-16 | 郑州阿帕斯数云信息科技有限公司 | Sdk的接入测试方法及装置 |
CN113918235A (zh) * | 2021-09-17 | 2022-01-11 | 北京房江湖科技有限公司 | 应用加载的方法及装置、计算机程序产品和存储介质 |
CN113918235B (zh) * | 2021-09-17 | 2023-11-17 | 贝壳找房(北京)科技有限公司 | 应用加载的方法及装置、存储介质 |
CN117934259A (zh) * | 2024-03-20 | 2024-04-26 | 浙江凌迪数字科技有限公司 | 任务流程图的生成方法、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110531985A (zh) | Sdk初始化方法及系统、电子设备、存储介质 | |
CN102696012B (zh) | 从代码使用中创建所推断的符号 | |
CN110531962B (zh) | 小程序的开发处理方法、设备及计算机可读存储介质 | |
CN112270149B (zh) | 验证平台自动化集成方法、系统及电子设备和存储介质 | |
CN107491329A (zh) | Docker镜像构建方法、设备、存储介质以及电子装置 | |
CN104035876B (zh) | 一种基于pxe、shell和expect实现ib网络环境下linpack集群测试的方法 | |
CN105843734A (zh) | 一种自动化测试方法、装置及计算设备 | |
CN108351796A (zh) | 用于在各种运行时环境中与模型交互并执行模型的统一接口规范 | |
CN109542443A (zh) | 应用程序的编译方法及装置、计算机终端、数据处理方法 | |
CN109272109A (zh) | 神经网络模型的指令调度方法及装置 | |
CN104881343A (zh) | 一种测试方法和测试系统 | |
CN110187910A (zh) | 一种热更新方法、装置、设备及计算机可读存储介质 | |
Ahmed et al. | Cultivating software solutions development in the scientific academia | |
CN107797805B (zh) | 一种代码封装方法、装置及计算机可读存储介质 | |
CN111881042A (zh) | 自动化测试脚本的生成方法、装置和电子设备 | |
CN109507991B (zh) | 一种双轴伺服控制平台调试系统及方法 | |
CN107656739A (zh) | 基于windows系统的代码编译方法及装置 | |
CN109101270A (zh) | 固件版本检查方法及装置、存储介质及电子设备 | |
WO2021164189A1 (zh) | 应用场景驱动的Android应用微服务自动生成方法 | |
Hue et al. | A transformation-based method for test case automatic generation from use cases | |
CN106021004B (zh) | 用户行为模拟单元、测试系统、以及测试方法 | |
CN105446788B (zh) | 一种信息处理方法及电子设备 | |
CN116107524A (zh) | 低代码应用日志处理方法、介质、装置和计算设备 | |
TW201327211A (zh) | 代碼智慧生成系統及方法 | |
CN104536887A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191203 |
|
RJ01 | Rejection of invention patent application after publication |