一种用于提供sdk文件的方法与设备的制造方法_2

文档序号:9810264阅读:来源:国知局
所以可以避免产生资源的重复浪费。进而,所述用户可以根据自己开发的应用的实际需要选择一定的候选库文件,并不需要全部接受。例如,设备I提供了 N个候选库文件,而所述用户需要的功能只对应于其中的K个候选库文件,此时,在剩下的N-K个候选库文件中可能存在a个候选库文件与K个候选库文件中的b个候选库文件都来自于同一个初始库文件,如都是由同一个初始库文件进行拆分得到的若干个子库文件,在此,用户不需要选择一个完整的、庞大的初始库文件,而是可以对这些拆分的库文件分别使用,如选择与初始库文件中部分功能分别对应的所述a个候选库文件,而不用选择其他的b个候选库文件。在此,所述用户所选择的若干个候选库文件即为所述多个目标库文件,也就是所述用户最终要从设备I中获得的相应具体功能所分别对应的库文件。进一步,在用户选定的多个目标库文件的基础上,配合着各个目标库文件所对应的配置文件生成一个对应的SDK文件,并将该SDK文件对应的压缩文件在网页端发布。在此,所述配置文件包括与所述目标库文件对应的头文件、文档、Demo文件等。
[0027]优选地,所述第二装置102根据所述用户在所述多个候选库文件中选择的多个目标库文件,通过配置所述目标库文件的路径设置并对所述多个目标库文件进行压缩处理,生成对应的SDK文件。具体地,所述用户选择的每一个目标库文件、以及相对应的头文件、文档、Demo文件等内容都对应于一定的配置文件信息,所述的配置文件信息定义了所对应的目标库文件、以及相对应的头文件、文档、Demo文件等内容的关键字、描述、标题、文件路径、是否可选等信息。在网页端也会将所述配置文件信息显示的所述内容的相关信息提供给所述用户,当所述用户在网页端选中下载所述目标库文件、以及相对应的头文件、文档、Demo文件等相应内容时,会基于所述各个内容对应的所述文件夹路径把该文件夹下的具体内容共同添加到一个压缩包内,最终生成的SDK文件,提供给所述用户。
[0028]接着,该设备I的第三装置103将所述SDK文件提供给对应的目标应用。所述用户获取了目标库文件所对应的SDK文件,例如,从网页端将选定的目标库文件所对应的SDK文件的压缩包下载下来,再通过解压缩获得所述SDK文件中对应的目标库文件,再将目标库文件添加到自己正在开发的应用程序工程中进行集成,从而使得所述用户开发的应用在运行时可以调用实现所述目标库文件所对应的相应功能。
[0029]在此,用户在开发应用程序的工程中调用目标SDK的操作时,可以根据自己的实际需要在多个候选库文件中自行选择若干个目标库文件,再将用户选择的所述目标库文件结合着相匹配的配置文件生成相应的SDK文件,并提供给用户的目标应用使用。从而,可以减少用户下载的SDK文件的大小,减轻了集成工作量,提高了应用程序开发的速度,控制了应用程序对应的可执行文件的大小,并降低了用户的集成成本。
[0030]在一个优选实施例中,所述设备I第一装置101包括第一单元1011(未示出)和第二单元1012(未示出)。
[0031]其中,第一单元1011根据用户所提交的SDK请求信息确定对应的多个候选库文件,其中,至少两个所述候选库文件源于与所述SDK请求信息相对应的同一初始库文件;第二单元1012将所述多个候选库文件提供至所述用户。
[0032]具体地,该设备I最终提供给用户的SDK文件是基于用户所提交给所述设备I的请求信息而判断的。若基于用户所提交的请求信息,已经存在相对应的候选库文件可用于选择,则可以直接将所述候选库文件提供给用户,例如,所述设备I中在用户请求之前就已经存在的与所述SDK请求信息对应的初始库文件的多个子库文件,则直接将对应的子库文件提供给所述用户,在此,所述的子库文件可以是预先从所述初始库文件中拆分得到的多个库文件,也可以是本身就是独立设计出的划归于统一初始库文件之下的多个库文件。若是基于用户所提交的SDK请求信息,可以判断所述请求信息对应的相应功能包含在一个初始库文件所涵盖的多个功能中,同时,所述初始库文件还没有对应的拆分好的子库文件,此时,设备I并不会将这个庞大且包含着多个所述用户并不需要的功能的初始库文件直接提供给所述用户,而是基于所述用户的所述SDK请求信息,即时将所述初始库文件拆分成多个子库文件,再将相应的所述子库文件作为候选库文件提供给所述用户选择。
[0033]优选地,所述设备I的第一单元1011根据用户所提交的SDK请求信息确定对应的初始库文件;根据所述初始库文件确定对应的多个候选库文件,其中,至少两个所述候选库文件均源于所述初始库文件。
[0034]具体地,根据所述的SDK请求信息所确定的相应功能,可以确定所述功能原始存在的初始库文件,进而基于所述初始库文件确定其对应的子库文件,所述初始库文件至少包括两个对应的子库文件,子库文件所对应的应用功能是从所述初始库文件中划分出来的,例如,初始库文件对应于功能A、B、C,若所述初始库文件有子库文件I和子库文件2,子库文件I包含功能A,子库文件2包含功能B和C。在此,所述子库文件I和2就可以作为所述SDK请求信息所对应的候选库文件,因为初始库文件将功能细化后生成的子库文件不会少于2个,所以将所述初始库文件对应的子库文件作为多个候选库文件的一部分时,就使得整体上所述候选库文件中至少会有两个候选库文件源于同一个所述初始库文件。在此,所述初始库文件可以是将多个功能编译链接形成的一个SDK库文件,也可以是多个独立设计的库文件的所对应功能的集合对应的库文件。
[0035]优选地,该设备I中所述多个候选库文件还包括与源于所述初始库文件的子库文件相匹配的第三方库文件。根据用户所提交的SDK请求信息确定对应的多个候选库文件时,首先会选择与所述SDK请求信息对应的初始库文件的对应的子库文件,每一个所述子库文件都对应于一个或若干个功能,所述的功能可能会对应于相应的第三方库文件,此时,所述设备I就会将所述第三方库文件也作为候选库文件提供给所述用户来选择。例如,开发者希望将自己开发的应用分享到微信平台,对应于微信平台分享这一功能除了需要分享到微信平台这一操作的库文件,还需要有分享平台,即微信平台对应的微信库文件,此时,所述设备I就会将微信库文件也作为候选库文件提供给所述用户。在此,优选地,所述的第三方库文件和与其对应的所述源于所述初始库文件的子库文件要相分离,进而,当第三方库文件升级更新时,所述用户就可以方便的替换到所升级更新的第三方库文件。例如,开发者希望将自己的应用分享到微信,从而把调用微信的功能作为子库文件IibSocialWechat.a,此时,微信的官方库文件是IibWeChatSDK.a,两者是相分离的,所以所述开发者可以方便替换新版的微信SDK库文件。
[0036]此外,并不是所有的功能都一定会有相对应的第三方库文件,例如,当开发者希望自己开发的应用具有摇一摇功能时,因为此功能不需要第三方的支持,所以没有对应的第三方库文件,进而所述设备I只需要将摇一摇操作所对应的库文件作为候选库文件,而不需要匹配第三方库文件。
[0037]优选地,所述设备I中第二单元1012根据所述候选库文件间的功能相关性信息将所述多个候选库文件提供至所述用户。
[0038]具体地,基于所述用户所提交的SDK请求信息,提供给所述用户的候选库文件之间具有一定的功能相关性,所述候选库文件的来源包括与所述初始库文件对应的子库文件,所述从属于各个子库文件对应的功能来源于所述初始库文件,而所述初始库文件的各个功能本身就具有一定的相关性,例如,一个分享功能相关的初始库文件,其中可能包含各个社交平台分享的功能、评论功能、分享截屏功能、摇一摇分享功能……等等,各个功能都有一定的相似或相关性,同时不同的功能之间还可能存在一定的调用关系,如,子库文件I对应的功能的实现需要基于子库文件2对应的功能,当初始库文件拆分成多个子库文件时,虽然各个子库文件保持着相对独立性,但是相互之间的功能相关性信息依然存在。同时,所述候选库文件的来源还包括与源于所述初始库文件的子库文件相匹配的第三方库文件,所述子库文件对应功能的实现也要依赖与所述第三方库文件,所以第三方库文件也与和其匹配的子库文件具一定的功能相关性。所以依据用户的SDK请求信息提供给所述用户的候选库文件并不是随意选择,而是基于用户所需要的应用功能而提供个性化的具有相关功能的库文件。
[0039]在另一个优选实施例中,该设备I的所述至少两个候选库文件包括所述初始库文件所对应的核心库文件。
[0040]具体地,源于所述初始库文件的候选库文件包括所对应的核心库文件,优选地,所述初始库文件在拆
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1