开发工具包兼容处理方法、装置、设备、存储介质及产品制造方法及图纸

技术编号:38314643 阅读:10 留言:0更新日期:2023-07-29 08:56
本公开实施例提供一种开发工具包兼容处理方法、装置、设备、存储介质及产品,该方法包括:获取多个待处理的开发工具包;针对每个开发工具包,构建与每个开发工具包对应的插件工程,获得多个插件工程;根据多个开发工具包及多个插件工程确定多个插件;同时安装多个插件,在单次启动过程中,按照预设的切换方式对多个插件进行切换操作;确定多个插件在切换过程中产生的运行故障,根据运行故障确定相冲突的至少一个目标类;对任一插件中的至少一个目标类进行重命名处理,使得处理后的至少两个插件能够正常运行。无需对至少两个开发工具包内全部重名的类进行重命名操作,对代码侵入性较小,且修改工作量较小,提高开发工具包兼容处理的效率。理的效率。理的效率。

【技术实现步骤摘要】
开发工具包兼容处理方法、装置、设备、存储介质及产品


[0001]本公开实施例涉及计算机
,尤其涉及一种开发工具包兼容处理方法、装置、设备、存储介质及产品。

技术介绍

[0002]随着终端设备硬件性能的提高,在终端设备上运行的应用程序(Application,简称APP)也越来越多,而同一应用程序中可能会同时安装有至少两个相同或相似的软件开发工具包(Software Development Kit,简称SDK)。相同或相似的软件开发工具包可能会使用相同命名但是存在差异的类或者资源。因此,在运行过程中,可能会导致类或者资源的冲突,导致应用程序崩溃。
[0003]现有的软件开发工具包兼容处理方法,一般都是把冲突的类和资源进行重命名。但是,上述方法需要改动类和资源本身,也需要对类和资源的直接调用进行替换,侵入性大,如果存在较多冲突的依赖库,复杂程度会更高,因而成本较高。

技术实现思路

[0004]本公开实施例提供一种开发工具包兼容处理方法、装置、设备、存储介质及产品,用于解决现有的软件开发工具包兼容处理方法对业务侵入性较大、复杂度较高的技术问题。
[0005]第一方面,本公开实施例提供一种开发工具包兼容处理方法,包括:
[0006]获取多个待处理的开发工具包,其中,所述多个待处理的开发工具包为相同或相似的开发工具包;
[0007]针对每个开发工具包,构建与每个开发工具包对应的插件工程,获得多个插件工程;
[0008]根据多个开发工具包及多个插件工程确定多个插件;<br/>[0009]同时安装所述多个插件,在单次启动过程中,按照预设的切换方式对所述多个插件进行切换操作;
[0010]确定所述多个插件在切换过程中产生的运行故障,根据所述运行故障确定相冲突的至少一个目标类;
[0011]对所述任一插件中的至少一个目标类进行重命名处理,使得处理后的至少两个插件能够正常运行。
[0012]第二方面,本公开实施例提供一种开发工具包兼容处理装置,包括:
[0013]获取模块,用于获取至少两份待处理的开发工具包,其中,所述至少两份待处理的开发工具包为相同或相似的开发工具包;
[0014]构建模块,用于针对各开发工具包,构建与所述开发工具包对应的插件工程,获得至少两个插件工程;
[0015]生成模块,用于根据多个开发工具包及多个插件工程确定多个插件;
[0016]切换模块,用于同时安装所述至少两个插件,在单次启动过程中,按照预设的切换方式对所述至少两个插件进行切换操作;
[0017]确定模块,用于确定所述至少两个插件在切换过程中产生的运行故障,根据所述运行故障确定相冲突的至少一个目标类;
[0018]处理模块,用于对所述任一插件中的至少一个目标类进行重命名处理,使得处理后的至少两个插件能够正常运行。
[0019]第三方面,本公开实施例提供一种电子设备,包括:处理器和存储器;
[0020]所述存储器存储计算机执行指令;
[0021]所述处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的开发工具包兼容处理。
[0022]第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的开发工具包兼容处理。
[0023]第五方面,本公开实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计所述的开发工具包兼容处理。
[0024]本实施例提供的开发工具包兼容处理方法、装置、设备、存储介质及产品,通过根据开发工具包构建与开发工具包对应的插件工程,根据多个开发工具包及多个插件工程确定多个插件。在至少两个插件同时安装后,单次启动过程中对至少两个插件进行切换操作,以确定至少两个插件在切换过程中产生的运行故障,从而能够确定至少两个插件在切换过程中出现故障、需要进行重命名的至少一个目标类,对该至少一个目标类进行重命名即可。无需对至少两个开发工具包内全部重名的类进行重命名操作,侵入性较小,且修改工作量较小,提高开发工具包兼容处理的效率。
附图说明
[0025]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0026]图1为本公开实施例一提供的开发工具包兼容处理方法的流程示意图;
[0027]图2为本公开实施例提供的开发工具包兼容处理方法所基于的网络架构示意图;
[0028]图3为本公开实施例二提供的开发工具包兼容处理方法的流程示意图;
[0029]图4为本公开实施例三提供的开发工具包兼容处理装置的结构示意图;
[0030]图5为本公开实施例四提供的电子设备的结构示意图。
具体实施方式
[0031]为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员
在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0032]针对上述提及的现有的软件开发工具包兼容处理方法对业务侵入性较大、复杂度较高的技术问题,本公开提供了一种开发工具包兼容处理方法、装置、设备、存储介质及产品。
[0033]需要说明的是,本公开提供的开发工具包兼容处理方法、装置、设备、存储介质及产品可运用在同时安装至少两个相同或相似的开发工具包,对至少两个相同或相似的开发工具包进行兼容处理的场景中。
[0034]为了实现对相同或者相近的至少两份业务SDK接入到同一应用中的兼容处理,现有的一种技术方案是把冲突的类和资源进行重命名。但是,采用上述方案需要改动类和资源本身,也需要对类和资源的直接调用进行替换,对业务侵入性大,如果存在较多冲突的依赖库,复杂程度会更高,因而成本很大。现有的另一种技术方案是对至少两份相同或者相近的业务SDK进行融合统一,通过一些开关控制业务逻辑,缺陷是冲突的不同版本库需要适配,同名的资源及引用需要处理,工作量也很大,整体对业务的侵入性非常大,对于业务量较大的SDK不太可取。
[0035]在解决上述技术问题的过程中,专利技术人通过研究发现,为了以最小的成本让至少两份相同或者相近的SDK在同一应用中兼容并存,可以采用双业务插件工程+类重命名的方案。具体地,针对各SDK,分别建立依赖SDK的插件工程,插件工程中配置有类加载器,类加载器能够控制该插件优先加载自身已配置的类及资源,当无法对自身已配置的类及资源本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种开发工具包兼容处理方法,其特征在于,包括:获取多个待处理的开发工具包,其中,所述多个待处理的开发工具包为相同或相似的开发工具包;针对每个开发工具包,构建与每个开发工具包对应的插件工程,获得多个插件工程;根据多个开发工具包及多个插件工程确定多个插件;同时安装所述多个插件,在单次启动过程中,按照预设的切换方式对所述多个插件进行切换操作;确定所述多个插件在切换过程中产生的运行故障,根据所述运行故障确定相冲突的至少一个目标类;对所述任一插件中的至少一个目标类进行重命名处理,使得处理后的至少两个插件能够正常运行。2.根据权利要求1所述的方法,其特征在于,所述同时安装所述至少两个插件,在单次启动过程中,按照预设的切换方式对所述至少两个插件进行切换操作之前,还包括:分别安装所述至少两个插件;针对各插件,对所述插件进行运行测试操作,获得测试结果;所述同时安装所述至少两个插件,在单次启动过程中,按照预设的切换方式对所述至少两个插件进行切换操作,包括:若所述测试结果为所述至少两个插件均正常运行,则同时安装所述至少两个插件,在单次启动过程中,按照预设的切换方式对所述至少两个插件进行切换操作。3.根据权利要求1所述的方法,其特征在于,所述根据所述运行故障确定相冲突的至少一个目标类,包括:针对各运行故障,获取所述运行故障对应的运行日志;对所述运行日志进行分析,确定相冲突的至少一个目标类。4.根据权利要求1所述的方法,其特征在于,所述对所述任一插件中的至少一个目标类进行重命名处理,包括:针对所述任一插件中的至少一个目标类,采用预设的类重命名工具在所述目标类的名称中添加预设的前缀和/或后缀,获得重命名后的目标类。5.根据权利要求1所述的方法,其特征在于,所述构建与所述开发工具包对应的插件工程,包括:根据所述开发工具包,基于所述开发工具包对应的宿主应用软件的开发工程,构建与所述开发工具包对应的插件工程。6.根据权利...

【专利技术属性】
技术研发人员:向启来
申请(专利权)人:北京字跳网络技术有限公司
类型:发明
国别省市:

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

1