用于软件开发工具包集成有效性检查的处理方法和装置
技术领域
本发明属于计算机系统集成技术领域,特别涉及一种用于软件开发工具包集成有效性检查的处理方法和装置。
背景技术
软件开发工具包(SDK)是一种为应用程序提供接口和功能的开发工具集合,常常包含程序代码,资源图片,资源库文件等。我们将软件开发工具包(SDK)提供给第三方使用时常常会提供配套的说明文档和技术文档,用来说明和指导第三方软件正确的集成和使用我们提供的软件开发工具包(SDK),但常常第三方在接入我们提供的软件开发工具包(SDK)时会遇到各种各样的问题,例如某个图片没有引入,某个配置不正确,某个依赖程序包版本不对,最终导致软件开发工具包(SDK)不能使用或报错,虽然说明文档和技术文档已经很明确的告知了如何引入资源,如何配置,但问题仍无法避免,往往需要第三方软件和软件开发工具包(SDK)提供者一起排查是哪个资源或配置不正确导致的问题,这往往耗费大量时间同时排查问题效率很低,大大增加了第三方接入成本和接入成功率,同时软件开发工具包(SDK)提供者也需要提供更多额外的技术支持和沟通。。
发明内容
为了解决现有技术存在的上述问题,本发明提供了一种用于软件开发工具包集成有效性检查的处理方法和装置,以解决现有技术中软件开发工具包系统集成中问题排查效率低的技术问题。
本发明所采用的技术方案为:提供一种用于软件开发工具包集成有效性检查的处理方法,应用于第一客户端,包括:响应第二客户端的系统集成请求,并获取所述系统集成请求需要的配置资源;根据所述系统集成请求需要的配置资源,依次检测所述系统集成请求需要的配置资源,获取全部的检测结果信息;将所述全部的检测结果信息,发送到所述第二客户端。
优选地,所述配置资源包括:软件包、图片资源和配置信息。
优选地,所述根据所述系统集成请求需要的配置资源,依次检测所述系统集成请求需要的配置资源,获取全部的检测结果信息,包括:根据所述系统集成请求需要的所有软件包,依次检测所述系统集成请求需要的每一个软件包及其版本,并记录所述软件包是否存在、版本是否正确;根据所述系统集成请求需要的所有图片资源,依次检测所述系统集成请求需要的每一个图片资源及其目录,并记录所述图片资源是否存在、目录是否正确;根据所述系统集成请求需要的所有配置信息,依次检测所述系统集成请求需要的每一条配置信息,并记录所述配置文件是否按要求配置、参数定义是否存在。
优选地,所述检测结果为“是”时,不进行记录。
优选地,所述检测结果信息为空时,提示所述第二客户端软件开发工具包集成有效,可进行软件开发工具包集成。
优选地,所述根据所述系统集成请求需要的配置资源,依次检测所述系统集成请求需要的配置资源,获取全部的检测结果信息,还包括:当依次检测所述系统集成请求需要的配置资源时,根据每一次的检测结果对所述第二客户端提供有效性提示。
本发明还提供一种用于软件开发工具包集成有效性检查的处理装置,应用于第一客户端,包括:接收单元,响应第二客户端的系统集成请求,并获取所述系统集成请求需要的配置资源;检测单元,根据所述系统集成请求需要的配置资源,依次检测所述系统集成请求需要的配置资源,获取全部的检测结果信息;发送单元,将所述全部的检测结果信息,发送到所述第二客户端。
优选地,所述检测单元包括:第一检测模块,根据所述系统集成请求需要的所有软件包,依次检测所述系统集成请求需要的每一个软件包及其版本,并记录所述软件包是否存在、版本是否正确;第二检测模块,根据所述系统集成请求需要的所有图片资源,依次检测所述系统集成请求需要的每一个图片资源及其目录,并记录所述图片资源是否存在、目录是否正确;第三检测模块,根据所述系统集成请求需要的所有配置信息,依次检测所述系统集成请求需要的每一条配置信息,并记录所述配置文件是否按要求配置、参数定义是否存在。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:响应第二客户端的系统集成请求,并获取所述系统集成请求需要的配置资源;根据所述系统集成请求需要的配置资源,依次检测所述系统集成请求需要的配置资源,获取全部的检测结果信息;将所述全部的检测结果信息,发送到所述第二客户端。
本发明还提供一种用于软件开发工具包集成有效性检查的处理设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:响应第二客户端的系统集成请求,并获取所述系统集成请求需要的配置资源;根据所述系统集成请求需要的配置资源,依次检测所述系统集成请求需要的配置资源,获取全部的检测结果信息;将所述全部的检测结果信息,发送到所述第二客户端。
本发明的有益效果为:通过响应第二客户端的系统集成请求,并获取所述系统集成请求需要的配置资源;根据所述系统集成请求需要的配置资源,依次检测所述系统集成请求需要的配置资源,获取全部的检测结果信息;将所述全部的检测结果信息,发送到所述第二客户端,相对于传统集成时,先按文档引入资源,图片,配置,调用软件开发工具包功能时出错了再根据错误,查看文档是否哪里有遗漏,咨询软件开发工具包提供者寻求帮助,有效性检查接口直接返回是否正确集成,并提示问题详情而言,本发明在第三方软件开始使用软件开发工具包功能之前,确保软件开发工具包的有效性和完整性,第三方软件只需关注软件开发工具包的具体功能和接口即可,大大提高了第三方集成的效率和成功率,解决了现有技术中软件开发工具包系统集成中问题排查效率低的技术问题,达到了问题排除快速、准确的技术效果。
附图说明
图1示出了根据本发明一个实施例的方法的流程图;
图2示出了根据本发明一个实施例的装置的结构图。
具体实施方式
本发明提供一种软件开发工具包(SDK)集成有效性检查的方法和装置,以解决现有技术中的系统集成中问题排查效率低的技术问题。
本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:在软件开发工具包(SDK)内提供一个有效性检查接口,第三方软件接入时,只需要调用该有效性检查接口,即可知道是否集成正确,有效性检查接口会返回检查结果,并提示有哪些资源和配置没有正确接入,引导第三方软件正确集成。
通过本发明可自动检测软件开发工具包(SDK)集成的有效性,并自动提示是哪个资源配置不正确,并引导需要将该资源或配置如何使用,有效的减少了第三方集成的成本,同时减轻了软件开发工具包(SDK)提供者的支持工作,在第三方软件开始使用软件开发工具包(SDK)功能之前,确保软件开发工具包(SDK)的有效性和完整性,第三方软件只需关注软件开发工具包(SDK)的具体功能和接口即可,大大提高了第三方集成的效率和成功率。
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
如图1所示,本实施例提供一种用于软件开发工具包集成有效性检查的处理方法,应用于第一客户端,包括如下步骤:
S1、响应第二客户端的系统集成请求,并获取所述系统集成请求需要的配置资源;
S2、根据所述系统集成请求需要的配置资源,依次检测所述系统集成请求需要的配置资源,获取全部的检测结果信息;
S3、将所述全部的检测结果信息,发送到所述第二客户端。
在此需说明的是,本发明所述客户端可以是智能终端、服务器或应用程序。以下在对本发明技术方案做更具体地说明时,第二客户端也被称作第三方。
举例来说,对于软件开发工具包(SDK)是知道需要哪些资源和配置,在第三方(即第二客户端)集成软件开发工具包时,提供一个接口供第三方调用,接口方法内根据软件开发工具包需要的资源和配置逐个检查,并列出未正常引入的资源和错误的配置,最后统一反馈给第三方需要修复的资源和配置,若所有资源和配置全部正常,则最后反馈给第三方“集成正确,可开始接入功能”。
在具体实施过程中,所述配置资源包括:软件包、图片资源和配置信息。举例来说,软件开发工具包(SDK)往往需要依赖其他程序包、图片资源和配置信息。
在具体实施过程中,步骤S2进一步包括:
S21、根据所述系统集成请求需要的所有软件包,依次检测所述系统集成请求需要的每一个软件包及其版本,并记录所述软件包是否存在、版本是否正确。
举例来说,软件开发工具包(SDK)往往需要依赖其他程序包,即其他软件开发工具包(SDK),若没有正确引入或版本不对会导致软件功能无法使用或报错,可通过检查程序包内类文件是否存在判断是否引入程序包,通过获取程序包版本判断是否版本正确。
S22、根据所述系统集成请求需要的所有图片资源,依次检测所述系统集成请求需要的每一个图片资源及其目录,并记录所述图片资源是否存在、目录是否正确。
举例来说,软件开发工具包(SDK)通常需要使用图片等资源,若没有正确引入或图片资源目录错误会导致软件无法显示图片或报错,可通过检查对应目录图片资源是否存在判断图片是否正确引入对应目录中。
S23、根据所述系统集成请求需要的所有配置信息,依次检测所述系统集成请求需要的每一条配置信息,并记录所述配置文件是否按要求配置、参数定义是否存在。
举例来说,软件开发工具包(SDK)往往需要第三方软件配置相应信息,初始化软件开发工具包(SDK)的功能或定义一些参数,若没有正确配置信息软件开发工具包(SDK)功能无法使用。可通过检查配置文件是否按要求配置,参数定义是否存在判断配置信息是否正确。
在具体实施过程中,步骤S21、S22、S23中,所述检测结果为“是”时,不进行记录。
举例来说,以步骤S21为例,依次检测所述系统集成请求需要的每一个软件包及其版本,在每次检测所述软件包存在、版本正确时,不进行记录,也就是说该次检测记录为空。
在具体实施过程中,所述检测结果信息为空时,提示所述第二客户端软件开发工具包集成有效,可进行软件开发工具包集成。
举例来说,当系统集成请求需要的资源配置正确,符合软件开发工具包的要求时,为节约资源,不进行记录,只记录不正确的资源配置,进行检查结果反馈。这就意味着,当系统集成请求需要的所有的资源配置都正确时,此时全部检测记录为空,即最终的检测结果信息为空,可提示所述第二客户端软件开发工具包集成有效,可进行软件开发工具包集成。
在具体实施过程中,在步骤S2中,还包括:当依次检测所述系统集成请求需要的配置资源时,根据每一次的检测结果对所述第二客户端提供有效性提示。
举例来说,在每一次检测时,也可根据每一次的检测记录实时地对所述第二客户端提供当前检测有效性提示。例如,提示是哪个资源配置不正确,并引导需要将该资源或配置如何使用等,如所需的软件包不存在或版本太低,可提示该软件包版本不对,并引导需要集成的软件文件在软件开发工具包(SDK)的位置。
下面以手机智能终端为例,对本发明方法的具体应用过程做一整体的详细的介绍:
1.提供有效性检查接口,在软件开发工具包(SDK)内提供一个可供第三方使用的接口方法。在安卓平台上,可提供一个公共静态函数public static StringcheckSdkValid(),并将结果以String字符串的形式返回。
通过提供有效性检查接口,第三方集成时只需要调用下该接口,根据返回值即可判断是否正确有效集成软件开发工具包(SDK)。
2.定义有效性提示字符串tipMsg,用于记录检查信息。
3.检查依赖程序包是否引入、版本是否正确。在安卓上,例如软件开发工具包(SDK)需要依赖一个支付软件开发工具包xxpay.jar,jar代码包检测可通过Java反射Class.forName(jar代码包中某个class文件)判断是否存在,若报ClassNotFoundException异常,则没有集成对应xxpay.jar,tipMsg中添加相应xxpay.jar未集成提示,若没有报异常则xxpay.jar已经集成,再检查xxpay.jar是否是需要的版本,可通过调用xxpay.jar里的版本信息方法比对是否一致判断,若不一致则tipMsg中添加相应xxpay.jar集成版本不对提示,若xxpay.jar已集成且版本正确不处理。依次检测其他程序包,所有程序包检查完后继续步骤4。
4.检查图片资源是否引入目录是否正确。在安卓上,可根据图片名能否获取图片资源判断是否存在图片,并通过资源属性判断是否目录正确,即getResources().getValue(资源图片名,new TypedValue),若返回为空则资源图片名对应的图片不存在,没有引入,tipMsg中添加对应图片资源名没有集成提示,若返回不为空则图片存在,通过TypedValue.density判断图片是否在正确目录,安卓中图片目录应该存放在drawable-mdpi,drawable-xhdpi等相应分辨率目录中,若TypedValue.density目录不对,tipMsg中添加对应图片资源名没有正确集成到相应目录提示,若图片存在且目录正确不处理,依次检测其他图片,所有图片检查完后继续步骤5.
5.检查配置信息是否正确。在安卓上配置信息在第三方软件的AndroidManifest.xml文件中,通过检测Activity(安卓界面组件,需要在AndroidManifest.xml中注册才能使用),Service(安卓服务组件,需要在AndroidManifest.xml中注册才能使用),meta-data(安卓描述数据,可定义参数信息)是否正确判断配置信息是否正确,例如Activity通过调用getPackageManager().resolveActivity(new Intent(对应Activity类名),0)是否为空判断对应Activity是否存在,若为空则tipMsg中添加对应Activity类名没有配置提示,不为空则正确配置不处理。依次检查其他配置信息,所有配置信息检查完后继续步骤6.
步骤3,4,5中检查出的问题会增量添加到tipMsg提示信息中,一次检查会记录所有的集成问题,一次返回给第三方,便于第三方统一处理,避免解决一个集成问题,再检查又提示另一个问题,提高解决效率。
步骤3,4,5检查出软件开发工具包(SDK)集成时需要的每一个软件包,图片资源,配置是否集成正确,全面的检查可以确保集成的正确性,避免在功能接入时出现集成不正确导致功能异常的情况,且检查方法由软件开发工具包(SDK)内部提供,第三方只需要调用检查方法即可知道结果,方便快捷。
6.判断tipMsg是否为空,若步骤3,4,5检查都正确,即tipMsg没有被添加信息,tipMsg为空,则tipMsg赋值为“SDK资源集成正确,可开始SDK接口接入”。若步骤3,4,5检查中有检测项不正确,即tipMsg被添加过信息,tipMsg不为空,则已有提示信息,不处理。
7.返回tipMsg数据给第三方调用checkSdkValid接口返回值。第三方可根据checkSdkValid函数返回的提示信息引入正确的资源和文件,直至checkSdkValid函数返回“SDK资源集成正确,可开始SDK接口接入”信息,此时软件开发工具包(SDK)集成正确。
由上可见,通过本发明的技术方案,第三方在集成软件开发工具包(SDK)时可快速,正确的集成,免去出现问题逐一查看说明文档,技术文档,咨询软件开发工具包(SDK)提供者的苦恼,有问题直接返回问题的原因及解决方法,集成正确后返回集成成功的提示,明确告诉第三方,大大提高了第三方集成的效率和成功率。同时软件开发工具包(SDK)提供者也省去大量处理第三方集成不正确的问题。
特别指出的是,上述方法步骤不一定按照编号顺序执行,之所以用编号只是为了表述的方便,只要能实现本发明的目的,任何步骤上的改变都应在本发明的权利要求保护范围内。
上述方法可通过以下的任意一个实施例来实现。
如图2所示,本实施例提供一种用于软件开发工具包集成有效性检查的处理装置,应用于第一客户端,包括:接收单元100,响应第二客户端的系统集成请求,并获取所述系统集成请求需要的配置资源;检测单元200,根据所述系统集成请求需要的配置资源,依次检测所述系统集成请求需要的配置资源,获取全部的检测结果信息;发送单元300,将所述全部的检测结果信息,发送到所述第二客户端。
作为优选地,所述检测单元200包括:第一检测模块210,根据所述系统集成请求需要的所有软件包,依次检测所述系统集成请求需要的每一个软件包及其版本,并记录所述软件包是否存在、版本是否正确;第二检测模块220,根据所述系统集成请求需要的所有图片资源,依次检测所述系统集成请求需要的每一个图片资源及其目录,并记录所述图片资源是否存在、目录是否正确;第三检测模块230,根据所述系统集成请求需要的所有配置信息,依次检测所述系统集成请求需要的每一条配置信息,并记录所述配置文件是否按要求配置、参数定义是否存在。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:响应第二客户端的系统集成请求,并获取所述系统集成请求需要的配置资源;根据所述系统集成请求需要的配置资源,依次检测所述系统集成请求需要的配置资源,获取全部的检测结果信息;将所述全部的检测结果信息,发送到所述第二客户端。
本发明还提供一种用于软件开发工具包集成有效性检查的处理设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:响应第二客户端的系统集成请求,并获取所述系统集成请求需要的配置资源;根据所述系统集成请求需要的配置资源,依次检测所述系统集成请求需要的配置资源,获取全部的检测结果信息;将所述全部的检测结果信息,发送到所述第二客户端。
需要特别声明的是,在此提供的处理方法、装置、介质和设备不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
由于在本发明实施例中,可以首先通过响应第二客户端的系统集成请求,获取所述系统集成请求需要的配置资源;然后根据所述系统集成请求需要的配置资源,依次检测所述系统集成请求需要的配置资源,获取全部的检测结果信息;最后将所述全部的检测结果信息,发送到所述第二客户端,相对于传统集成时,先按文档引入资源,图片,配置,调用软件开发工具包功能时出错了再根据错误,查看文档是否哪里有遗漏,咨询软件开发工具包提供者寻求帮助,有效性检查接口直接返回是否正确集成,并提示问题详情而言,本发明在第三方软件开始使用软件开发工具包功能之前,确保软件开发工具包的有效性和完整性,第三方软件只需关注软件开发工具包的具体功能和接口即可,大大提高了第三方集成的效率和成功率,故而达到了问题排除快速、准确的技术效果,其更符合第三方软件的需求。
在此处所提供的说明书中,说明了大量具体细节。然而,本领域的技术人员能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。