一种SDK升级方法、装置以及计算机设备制造方法及图纸

技术编号:34557052 阅读:13 留言:0更新日期:2022-08-17 12:43
本公开提供了一种SDK升级方法、装置以及计算机设备,其中,该方法包括:确定软件工具开发包SDK的待升级插件依赖的第三方的资源文件,并将所述资源文件进行重命名处理,得到重命名后的资源文件;将所述SDK的宿主工程的资源合并编译任务的资源合并结果中的所述资源文件替换为所述重命名后的资源文件;调用所述资源合并结果中所述重命名后的资源文件,并对所述待升级插件中依赖所述重命名后的资源文件的代码包进行重命名;基于所述重命名后的资源文件和所述重命名后的代码包编译得到插件APK;所述插件APK用于对所述SDK进行升级处理。所述插件APK用于对所述SDK进行升级处理。所述插件APK用于对所述SDK进行升级处理。

【技术实现步骤摘要】
一种SDK升级方法、装置以及计算机设备


[0001]本公开涉及计算机的
,具体而言,涉及一种SDK升级方法、装置以及计算机设备。

技术介绍

[0002]软件开发工具包(Software Development Kit,简称SDK)一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。目前,常见的SDK(例如,游戏SDK)自升级方案中,宿主基本是一个空壳,所有的功能均在插件中,同时由于插件逻辑简单,因此,插件的页面功能较为简单,此时,为了实现较为简单的页面功能,基本无需使用很复杂的库,例如,插件中只使用了安卓Android原生提供的应用程序接口(Application Program Interface,简称API)。如果插件的页面功能较为复杂,则需要增加更多的资源库,从而使得插件依赖更多的资源库。针对现有技术中为了实现更加复杂的页面功能从而增加更多资源库的技术方案存在以下缺陷:
[0003](1)、如果插件的页面功能较为复杂,例如使用Support库添加多种页面效果、ConstraintLayout库进行布局管理、Navigation库进行跳转逻辑管理等等,此时只用原生的API而不使用上述依赖库会大大增加开发成本;
[0004](2)、如果插件中依赖这些库,宿主中不引入这些库,此时,如果接入方接入SDK时使用了这些库,同样会造成宿主和插件中存在相同的依赖库,从而导致出现类转换错误的问题。

技术实现思路

[0005]本公开实施例至少提供一种SDK升级方法、装置以及计算机设备。
[0006]第一方面,本公开实施例提供了一种SDK升级方法,包括:确定软件工具开发包SDK的待升级插件依赖的第三方的资源文件,并将所述资源文件进行重命名处理,得到重命名后的资源文件;将所述SDK的宿主工程的资源合并编译任务的资源合并结果中的所述资源文件替换为所述重命名后的资源文件;调用所述资源合并结果中所述重命名后的资源文件,并对所述待升级插件中依赖所述重命名后的资源文件的代码包进行重命名;基于所述重命名后的资源文件和所述重命名后的代码包编译得到插件APK;所述插件APK用于对所述SDK进行升级处理。
[0007]结合第一方面,本公开实施例提供了第一方面的第一种可能的实施方式,其中:在将所述资源合并结果中的所述资源文件替换为重命名后的资源文件之前,所述方法还包括:遍历所述资源合并结果中第一指定目录下的资源布局文件;根据所述资源布局文件中包含的资源标识信息在所述资源合并结果中确定所述待升级插件依赖的所述资源文件。
[0008]结合第一方面和第一方面的第一种可能的实施方式,本公开实施例提供了第一方面的第二种可能的实施方式,其中:所述方法还包括:在将所述SDK的宿主工程的资源合并编译任务的资源合并结果中的所述资源文件替换为所述重命名后的资源文件之后,将所述
重命名后的资源文件保存至第一XML文件中,其中,所述第一XML文件与第二XML文件位于不同的存储目录中,所述第二XML文件为所述资源合并结果中存储所述资源文件的XML文件;对所述第一XML文件进行编译,得到所述临时文件,其中,所述临时文件的文件名为所述重命名后的资源文件的文件名;将所述临时文件存放在所述资源合并编译任务的第二指定目录下。
[0009]结合第一方面第一种可能的实施方式,本公开实施例提供了第一方面的第三种可能的实施方式,其中:所述将所述资源文件进行重命名处理,得到重命名后的资源文件,包括:确定所述资源合并结果中存储所述资源文件的第二XML文件;将所述第二XML文件的文件参数的参数值替换为重命名后的资源文件的文件名,得到所述重命名后的资源文件;所述文件参数包括:标签值value和/或对象属性名name。
[0010]结合第一方面第一种可能的实施方式,本公开实施例提供了第一方面的第四种可能的实施方式,其中:通过以下步骤确定所述XML文件的文件参数的参数值,包括:将所述第二XML文件转换为文档对象;在所述文档对象中获取所述文件参数的参数值。
[0011]结合第一方面,本公开实施例提供了第一方面的第五种可能的实施方式,其中:所述方法还包括:在所述宿主工程中添加所述待升级插件依赖的所述资源文件;建立所述待升级插件和所述宿主工程中的资源文件之间的依赖关系。
[0012]结合第一方面,本公开实施例提供了第一方面的第六种可能的实施方式,其中:调用所述资源合并结果中重命名后的资源文件,包括:通过所述SDK的宿主工程的资源链接任务在所述资源合并结果中调用所述重命名后的资源文件。
[0013]第二方面,本公开实施例还提供一种SDK升级装置,包括:确定单元,用于确定软件工具开发包SDK的待升级插件依赖的第三方的资源文件;第一重命名单元,用于将所述资源文件进行重命名处理,得到重命名后的资源文件;替换单元,用于将所述SDK的宿主工程的资源合并编译任务的资源合并结果中的所述资源文件替换为所述重命名后的资源文件;第二重命名单元,用于调用所述资源合并结果中所述重命名后的资源文件,并对所述待升级插件中依赖所述重命名后的资源文件的代码包进行重命名;编译单元,用于基于所述重命名后的资源文件和所述重命名后的代码包编译得到插件APK;所述插件APK用于对所述SDK进行升级处理。
[0014]第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
[0015]第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
[0016]本公开实施例提供的SDK升级方法、装置以及计算机设备。在本公开技术方案中,可以将待升级插件所依赖的第三方的资源文件替换为重命名之后的资源文件,并对待升级插件中依赖重命名后的资源文件的代码包进行重命名,以基于重命名后的资源文件和代码包编译得到插件APK。通过该处理方式,可以将待升级插件所使用的资源文件进行重命名,并在不改变现有编译方式的前提下,将待升级插件的代码所依赖的资源文件替换为重命名
后的资源文件。在接入方接入SDK并使用该资源文件时,由于插件和宿主中所依赖的资源文件不相同,因此,就不会出现类转换错误的问题,进一步地通过上述处理方式能够保证在不增加开发成本的情况下,不会出现类转换错误,以及页面布局错乱的问题。
[0017]为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0018]为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SDK自升级方法,其特征在于,包括:确定软件工具开发包SDK的待升级插件依赖的第三方的资源文件,并将所述资源文件进行重命名处理,得到重命名后的资源文件;将所述SDK的宿主工程的资源合并编译任务的资源合并结果中的所述资源文件替换为所述重命名后的资源文件;调用所述资源合并结果中所述重命名后的资源文件,并对所述待升级插件中依赖所述重命名后的资源文件的代码包进行重命名;基于所述重命名后的资源文件和所述重命名后的代码包编译得到插件APK;所述插件APK用于对所述SDK进行升级处理。2.根据权利要求1所述的方法,其特征在于,在将所述资源合并结果中的所述资源文件替换为重命名后的资源文件之前,所述方法还包括:遍历所述资源合并结果中第一指定目录下的资源布局文件;根据所述资源布局文件中包含的资源标识信息在所述资源合并结果中确定所述待升级插件依赖的所述资源文件。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在将所述SDK的宿主工程的资源合并编译任务的资源合并结果中的所述资源文件替换为所述重命名后的资源文件之后,将所述重命名后的资源文件保存至第一XML文件中,其中,所述第一XML文件与第二XML文件位于不同的存储目录中,所述第二XML文件为所述资源合并结果中存储所述资源文件的XML文件;对所述第一XML文件进行编译,得到临时文件,其中,所述临时文件的文件名为所述重命名后的资源文件的文件名;将所述临时文件存放在所述资源合并编译任务的第二指定目录下。4.根据权利要求1所述的方法,其特征在于,所述将所述资源文件进行重命名处理,得到重命名后的资源文件,包括:确定所述资源合并结果中存储所述资源文件的第二XML文件;将所述第二XML文件的文件参数的参数值替换为重命名后的资源文件的文件名,得到所述重命名后的资源文件;所述文件参数包括:标签值value...

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

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

1