SDK加载方法、装置、设备及存储介质与流程

文档序号:33767401发布日期:2023-04-18 20:06阅读:63来源:国知局
SDK加载方法、装置、设备及存储介质与流程

本申请涉及软件开发,具体而言,本申请涉及一种sdk加载方法、装置、设备及存储介质。


背景技术:

1、目前应用接入第三方sdk(software deve l opment ki t,软件开发工具包)的主要方式是应用直接硬编码静态加载第三方sdk。而静态加载第三方sdk是在应用发布时,将应用本身的逻辑和第三方sdk的代码、资源合并在一个安装包,并发布到应用市场。一旦发布,这个安装包将无法修改,安装包封装的第三方sdk也无法修改,如果第三方sdk出现问题时,或者,当第三方sdk升级导致线上出现大量的应用程序崩溃时,需要将应用原始工程与更新的第三方sdk重新融合形成新的安装包后再进行发布,或通过关闭sdk功能的方式暂缓问题。这两种方式中,功能软件开发与应用的耦合性较高,操作较为复杂,使得无法及时修复问题,修复周期较长。


技术实现思路

1、本申请的主要目的为提供一种sdk加载方法、装置、设备及存储介质,以在第三方sdk升级后出现问题时,能够及时修复,避免风险扩散。

2、为了实现上述发明目的,本申请提供一种sdk加载方法,包括:

3、当应用程序启动时,获取新版本的第一sdk;

4、利用所述第一sdk对所述应用程序进行初始化,并将所述第一sdk的第一对象发送给预先创建的动态库;其中,所述动态库中预先存储了旧版本的第二sdk;

5、获取服务器的配置指令,根据所述配置指令确定所述应用程序sdk的版本,得到目标版本;

6、当确定所述目标版本为旧版本时,从所述动态库中获取第二sdk的第二对象,利用所述第二对象加载所述应用程序。

7、进一步地,所述根据所述配置指令确定sdk的版本,得到目标版本之后,还包括:

8、当确定所述目标版本为新版本时,从所述动态库中获取第一sdk的第一对象,利用所述第一对象加载所述应用程序。

9、进一步地,所述利用所述第一对象加载所述应用程序之后,还包括:

10、当确定所述第一sdk为文字识别sdk时,根据所述第一对象调用文字识别服务。

11、进一步地,所述利用所述第一sdk对所述应用程序进行初始化之后,还包括:

12、向所述服务器上报所述第一sdk的功能扩展状态;

13、当所述第一sdk的功能扩展状态满足要求时,则确定所述目标版本为新版本,否则确定所述目标版本为旧版本。

14、进一步地,所述利用所述第一sdk对所述应用程序进行初始化之后,还包括:

15、对所述第一sdk进行安全性检测;

16、若所述第一sdk通过了所述安全性检测,则确定所述目标版本为新版本,否则确定所述目标版本为旧版本。

17、进一步地,所述应用程序启动之前,还包括:

18、从静态库中获取旧版本的sdk,得到第二sdk;

19、新建依赖所述静态库的动态库,将所述第二sdk存储于所述动态库。

20、进一步地,所述将所述第二sdk存储于所述动态库之后,还包括:

21、响应于版本更新指令,从服务器中获取新版本的第一sdk;

22、利用所述新版本的第一sdk替换静态库中存储的第二sdk。

23、本申请还提供一种sdk加载装置,所述装置包括:

24、获取模块,用于当应用程序启动时,获取新版本的第一sdk;

25、初始化模块,用于利用所述第一sdk对所述应用程序进行初始化,并将所述第一sdk的第一对象发送给预先创建的动态库;其中,所述动态库中预先存储了旧版本的第二sdk;

26、确定模块,用于获取服务器的配置指令,根据所述配置指令确定所述应用程序sdk的版本,得到目标版本;

27、加载模块,用于当确定所述目标版本为旧版本时,从所述动态库中获取第二sdk的第二对象,利用所述第二对象加载所述应用程序。

28、本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

29、本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述任一项所述方法的步骤。

30、本申请所提供的一种sdk加载方法、装置、设备及存储介质,当应用程序启动时,获取新版本的第一sdk,利用所述第一sdk对所述应用程序进行初始化,并将所述第一sdk的第一对象发送给预先创建的动态库;其中,所述动态库中预先存储了旧版本的第二sdk,获取服务器的配置指令,根据所述配置指令确定所述应用程序sdk的版本,得到目标版本,当确定所述目标版本为旧版本时,从所述动态库中获取第二sdk的第二对象,利用所述第二对象加载所述应用程序,以利用动态库依赖静态库的链接原理,动态库获取静态库中旧版本的第二sdk,并将其包含在动态库的源码与资源文件中,当新版本的第一sdk更新跨度较大出现问题时,可以通过服务器配置的方式进行sdk版本降级,利用第二sdk的第二对象加载应用程序,以及时修复问题,降低sdk升级带来的风险。



技术特征:

1.一种sdk加载方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述配置指令确定sdk的版本,得到目标版本之后,还包括:

3.根据权利要求2所述的方法,其特征在于,所述利用所述第一对象加载所述应用程序之后,还包括:

4.根据权利要求2所述的方法,其特征在于,所述利用所述第一sdk对所述应用程序进行初始化之后,还包括:

5.根据权利要求2所述的方法,其特征在于,所述利用所述第一sdk对所述应用程序进行初始化之后,还包括:

6.根据权利要求1所述的方法,其特征在于,所述应用程序启动之前,还包括:

7.根据权利要求6所述的方法,其特征在于,所述将所述第二sdk存储于所述动态库之后,还包括:

8.一种sdk加载装置,其特征在于,包括:

9.一种计算机设备,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1-7任一项所述的sdk加载方法。


技术总结
本申请为软件开发技术领域,本申请提供了一种SDK加载方法、装置、设备及存储介质,其中,所述方法包括:当应用程序启动时,获取新版本的第一SDK,利用第一SDK对应用程序进行初始化,并将第一SDK的第一对象发送给预先创建的动态库,获取服务器的配置指令,根据配置指令确定应用程序SDK的版本,得到目标版本,当确定目标版本为旧版本时,从动态库中获取第二SDK的第二对象,利用第二对象加载应用程序,以在新版本的第一SDK更新跨度较大出现问题时,可以通过服务器配置的方式进行SDK版本降级,利用第二SDK的第二对象加载应用程序,实现及时修复问题,降低SDK升级带来的风险。

技术研发人员:涂育旺
受保护的技术使用者:深圳依时货拉拉科技有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1