SDK适配方法、装置、电子设备及存储介质制造方法及图纸

技术编号:31311152 阅读:25 留言:0更新日期:2021-12-12 21:42
本发明专利技术提供了一种SDK适配方法、装置、电子设备及存储介质,涉及软件开发技术领域。所述方法包括:获取目标SDK对应的对外公开元素集合;对公开元素集合进行转换,以得到目标SDK对应的目标适配文件。因此,能够解决相关技术中SDK适配文件的编写工作量大,而导致SDK适配文件编写效率低的问题。件编写效率低的问题。件编写效率低的问题。

【技术实现步骤摘要】
SDK适配方法、装置、电子设备及存储介质


[0001]本专利技术涉及软件开发
,尤其涉及一种SDK适配方法、装置、电子设备及存储介质。

技术介绍

[0002]现有技术中开发者开发Flutter应用程序的过程中,在Flutter应用程序需要调用第三方SDK(软件开发工具包Software Development Kit)的情况下,需要手动编写需要使用的第三方SDK对应的适配文件,对外开放适配文件的相关调用办法,并将适配文件封装为可配置类型,才可实现动态使用第三方SDK的功能。
[0003]申请人在实现本专利技术的过程中,发现现有技术中存在以下技术问题:
[0004]1、生成第三方SDK对应的适配文件工作量大;
[0005]2、开发者手动编写第三方SDK对应的适配文件,容易造成疏漏及错误;
[0006]3、每次第三方SDK升级都需要开发者重新手动编写对应的适配文件。
[0007]针对上述相关技术中SDK适配文件的编写存在的问题,目前尚未提出有效的解决技术手段。

技术实现思路

[0008]本专利技术实施例提供一种适配文件生成方法、装置、电子设备及存储介质,以解决相关技术中SDK适配文件的编写存在的至少部分的问题。
[0009]为了解决上述技术问题,本专利技术是这样实现的:
[0010]第一方面,本专利技术实施例提供了一种SDK适配方法,该方法包括:获取目标SDK对应的对外公开元素集合;对所述公开元素集合进行转换,以得到所述目标SDK对应的目标适配文件。
[0011]进一步地,获取所述目标SDK对应的对外公开元素集合,包括:遍历所述目标SDK;生成所述目标SDK对应的抽象语法树;根据所述抽象语法树获取所述对外公开元素集合。
[0012]进一步地,根据所述抽象语法树获取所述对外公开元素集合,包括:根据所述抽象语法树获取所述目标SDK对外公开的构造函数集合;以及,根据所述抽象语法树获取所述目标SDK对外公开的静态对象集合;以及,根据所述抽象语法树获取所述目标SDK对外公开的方法集合。
[0013]进一步地,根据所述抽象语法树获取所述目标SDK对外公开的构造函数集合,包括:根据所述抽象语法树中节点的节点属性,获取所述目标SDK对外公开的构造函数;对所述构造函数进行分类,以得到所述构造函数集合,其中,所述构造函数集合包括未命名构造函数子集合、公共构造函数子集合以及非抽象构造函数子集合。
[0014]进一步地,根据所述抽象语法树获取所述目标SDK对外公开的方法集合,包括:根据所述抽象语法树中节点的节点属性,获取所述目标SDK对外公开的方法;剔除不符合预设条件的方法,以得到所述方法集合。
[0015]进一步地,所述公开元素集合包括构造函数集合、静态对象集合以及方法集合,其中,对所述公开元素集合进行转换,以得到所述目标SDK对应的目标适配文件,包括:对所述构造函数集合、所述静态对象集合以及所述方法集合进行领域特定语言DSL转换,以得到所述目标SDK对应的JSON文件。
[0016]进一步地,在对所述公开元素集合进行转换,以得到所述目标SDK对应的目标适配文件之后,还包括:对所述JSON文件进行注册,以得到所述目标SDK对应的目标JSON文件;其中,所述目标JSON文件用于调用所述目标SDK。
[0017]进一步地,通过预设引擎执行所述JSON文件,以得到所述目标适配文件,包括:获取所述JSON文件对应的Key值;根据所述Key值确定所述JSON文件对应的参数;根据所述参数执行所述预设引擎,以得到所述目标JSON文件。
[0018]进一步地,在获取目标SDK对应的对外公开元素集合之前,还包括:获取预设指令,其中,所述预设指令用于指示获取所述目标SDK对应的目标适配文件,所述预设指令包括所述目标SDK的文件类型、文件路径、输出路径。
[0019]第二方面,本专利技术实施例另外提供了一种SDK适配装置,所述装置包括:获取单元,用于获取目标SDK对应的对外公开元素集合;处理单元,用于对所述公开元素集合进行转换,以得到所述目标SDK对应的目标适配文件。
[0020]第三方面,本专利技术实施例另外提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的SDK适配方法的步骤。
[0021]第四方面,本专利技术实施例另外提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的SDK适配方法的步骤。
[0022]在本专利技术实施例中,获取目标SDK对应的对外公开元素集合;对公开元素集合进行转换,以得到目标SDK对应的目标适配文件。通过获取目标Flutter应用程序所需调用的目标SDK对外公开的对外公开元素集合,对公开元素集合进行转换,来自动得到目标SDK对应的目标适配文件,避免人工对目标SDK适配文件的编写,降低了开发人员的人工工作量,进而减少了文件漏洞以及错误,达到提高目标SDK适配文件编写效率的目的。解决了因相关技术中SDK适配文件的编写工作工作量大,而导致SDK适配文件编写效率低的问题。
[0023]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
附图说明
[0024]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025]图1是本专利技术实施例中的一种SDK适配方法的应用场景示意图;
[0026]图2是本专利技术实施例中的一种SDK适配方法的流程示意图;
[0027]图3是本专利技术实施例中的另一种SDK适配方法的流程示意图;
[0028]图4是本专利技术实施例中的一种SDK适配装置的框架示意图。
具体实施方式
[0029]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0030]实施例一
[0031]在介绍本专利技术的技术方案之前,首先对以下名词进行解释:
[0032]SDK:(软件开发工具包Software Development Kit)软件开发工具包,一般是一些软件工程师为特定的软件、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。软件开发工具包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合。
[0033]Dart:谷歌开发的计算机编程语言。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SDK适配方法,其特征在于,所述方法包括:获取目标SDK对应的对外公开元素集合;对所述公开元素集合进行转换,以得到所述目标SDK对应的目标适配文件。2.根据权利要求1所述的方法,其特征在于,获取所述目标SDK对应的对外公开元素集合,包括:遍历所述目标SDK;生成所述目标SDK对应的抽象语法树;根据所述抽象语法树获取所述对外公开元素集合。3.根据权利要求1所述的方法,其特征在于,根据所述抽象语法树获取所述对外公开元素集合,包括:根据所述抽象语法树获取所述目标SDK对外公开的构造函数集合;以及,根据所述抽象语法树获取所述目标SDK对外公开的静态对象集合;以及,根据所述抽象语法树获取所述目标SDK对外公开的方法集合。4.根据权利要求3所述的方法,其特征在于,根据所述抽象语法树获取所述目标SDK对外公开的构造函数集合,包括:根据所述抽象语法树中节点的节点属性,获取所述目标SDK对外公开的构造函数;对所述构造函数进行分类,以得到所述构造函数集合,其中,所述构造函数集合包括未命名构造函数子集合、公共构造函数子集合以及非抽象构造函数子集合。5.根据权利要求4所述的方法,其特征在于,根据所述抽象语法树获取所述目标SDK对外公开的方法集合,包括:根据所述抽象语法树中节点的节点属性,获取所述目标SDK对外公开的方法;剔除不符合预设条件的方法,以得到所述方法集合。6.根据权利要求1所述的方法,其特征在于,所述公开元素集合包括构造函数集合、静态对象集合以及方法集合,其中,对所述公开元素集合进行转换,以得到所述目标SDK对应的目标适配文件,包括:对所述构造函数集合、所述静态对象集...

【专利技术属性】
技术研发人员:孙哲林乐洋
申请(专利权)人:北京城市网邻信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1