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

文档序号:9810264阅读:来源:国知局
头文件、文档、Demo文件等内容都对应于一定的配置文件信息,所述的配置文件信息定义了所对应的目标库文件、以及相对应的头文件、文档、Demo文件等内容的关键字、描述、标题、文件路径、是否可选等信息。在网页端也会将所述配置文件信息显示的所述内容的相关信息提供给所述用户,当所述用户在网页端选中下载所述目标库文件、以及相对应的头文件、文档、Demo文件等相应内容时,会基于所述各个内容对应的所述文件夹路径把该文件夹下的具体内容共同添加到一个压缩包内,最终生成的SDK文件,提供给所述用户。
[0051 ] 接着,在步骤S203中,该设备I将所述SDK文件提供给对应的目标应用。所述用户获取了目标库文件所对应的SDK文件,例如,从网页端将选定的目标库文件所对应的SDK文件的压缩包下载下来,再通过解压缩获得所述SDK文件中对应的目标库文件,再将目标库文件添加到自己正在开发的应用程序工程中进行集成,从而使得所述用户开发的应用在运行时可以调用实现所述目标库文件所对应的相应功能。
[0052]在此,用户在开发应用程序的工程中调用目标SDK的操作时,可以根据自己的实际需要在多个候选库文件中自行选择若干个目标库文件,再将用户选择的所述目标库文件结合着相匹配的配置文件生成相应的SDK文件,并提供给用户的目标应用使用。从而,可以减少用户下载的SDK文件的大小,减轻了集成工作量,提高了应用程序开发的速度,控制了应用程序对应的可执行文件的大小,并降低了用户的集成成本。
[0053]在一个优选实施例中,所述步骤S201包括步骤S2011 (未示出)和步骤S2012(未示出)。
[0054]其中,在步骤S2011中,设备I根据用户所提交的SDK请求信息确定对应的多个候选库文件,其中,至少两个所述候选库文件源于与所述SDK请求信息相对应的同一初始库文件;在步骤S2012中,设备I将所述多个候选库文件提供至所述用户。
[0055]具体地,该设备I最终提供给用户的SDK文件是基于用户所提交给所述设备I的请求信息而判断的。若基于用户所提交的请求信息,已经存在相对应的候选库文件可用于选择,则可以直接将所述候选库文件提供给用户,例如,所述设备I中在用户请求之前就已经存在的与所述SDK请求信息对应的初始库文件的多个子库文件,则直接将对应的子库文件提供给所述用户,在此,所述的子库文件可以是预先从所述初始库文件中拆分得到的多个库文件,也可以是本身就是独立设计出的划归于统一初始库文件之下的多个库文件。若是基于用户所提交的SDK请求信息,可以判断所述请求信息对应的相应功能包含在一个初始库文件所涵盖的多个功能中,同时,所述初始库文件还没有对应的拆分好的子库文件,此时,设备I并不会将这个庞大且包含着多个所述用户并不需要的功能的初始库文件直接提供给所述用户,而是基于所述用户的所述SDK请求信息,即时将所述初始库文件拆分成多个子库文件,再将相应的所述子库文件作为候选库文件提供给所述用户选择。
[0056]优选地,在步骤S2011中,所述设备I根据用户所提交的SDK请求信息确定对应的初始库文件;根据所述初始库文件确定对应的多个候选库文件,其中,至少两个所述候选库文件均源于所述初始库文件。
[0057]具体地,根据所述的SDK请求信息所确定的相应功能,可以确定所述功能原始存在的初始库文件,进而基于所述初始库文件确定其对应的子库文件,所述初始库文件至少包括两个对应的子库文件,子库文件所对应的应用功能是从所述初始库文件中划分出来的,例如,初始库文件对应于功能A、B、C,若所述初始库文件有子库文件I和子库文件2,子库文件I包含功能A,子库文件2包含功能B和C。在此,所述子库文件I和2就可以作为所述SDK请求信息所对应的候选库文件,因为初始库文件将功能细化后生成的子库文件不会少于2个,所以将所述初始库文件对应的子库文件作为多个候选库文件的一部分时,就使得整体上所述候选库文件中至少会有两个候选库文件源于同一个所述初始库文件。在此,所述初始库文件可以是将多个功能编译链接形成的一个SDK库文件,也可以是多个独立设计的库文件的所对应功能的集合对应的库文件。
[0058]优选地,该设备I中所述多个候选库文件还包括与源于所述初始库文件的子库文件相匹配的第三方库文件。根据用户所提交的SDK请求信息确定对应的多个候选库文件时,首先会选择与所述SDK请求信息对应的初始库文件的对应的子库文件,每一个所述子库文件都对应于一个或若干个功能,所述的功能可能会对应于相应的第三方库文件,此时,所述设备I就会将所述第三方库文件也作为候选库文件提供给所述用户来选择。例如,开发者希望将自己开发的应用分享到微信平台,对应于微信平台分享这一功能除了需要分享到微信平台这一操作的库文件,还需要有分享平台,即微信平台对应的微信库文件,此时,所述设备I就会将微信库文件也作为候选库文件提供给所述用户。在此,优选地,所述的第三方库文件和与其对应的所述源于所述初始库文件的子库文件要相分离,进而,当第三方库文件升级更新时,所述用户就可以方便的替换到所升级更新的第三方库文件。例如,开发者希望将自己的应用分享到微信,从而把调用微信的功能作为子库文件IibSocialWechat.a,此时,微信的官方库文件是IibWeChatSDK.a,两者是相分离的,所以所述开发者可以方便替换新版的微信SDK库文件。
[0059]此外,并不是所有的功能都一定会有相对应的第三方库文件,例如,当开发者希望自己开发的应用具有摇一摇功能时,因为此功能不需要第三方的支持,所以没有对应的第三方库文件,进而所述设备I只需要将摇一摇操作所对应的库文件作为候选库文件,而不需要匹配第三方库文件。
[0060]优选地,在步骤S2012中,所述设备I根据所述候选库文件间的功能相关性信息将所述多个候选库文件提供至所述用户。
[0061]具体地,基于所述用户所提交的SDK请求信息,提供给所述用户的候选库文件之间具有一定的功能相关性,所述候选库文件的来源包括与所述初始库文件对应的子库文件,所述从属于各个子库文件对应的功能来源于所述初始库文件,而所述初始库文件的各个功能本身就具有一定的相关性,例如,一个分享功能相关的初始库文件,其中可能包含各个社交平台分享的功能、评论功能、分享截屏功能、摇一摇分享功能……等等,各个功能都有一定的相似或相关性,同时不同的功能之间还可能存在一定的调用关系,如,子库文件I对应的功能的实现需要基于子库文件2对应的功能,当初始库文件拆分成多个子库文件时,虽然各个子库文件保持着相对独立性,但是相互之间的功能相关性信息依然存在。同时,所述候选库文件的来源还包括与源于所述初始库文件的子库文件相匹配的第三方库文件,所述子库文件对应功能的实现也要依赖与所述第三方库文件,所以第三方库文件也与和其匹配的子库文件具一定的功能相关性。所以依据用户的SDK请求信息提供给所述用户的候选库文件并不是随意选择,而是基于用户所需要的应用功能而提供个性化的具有相关功能的库文件。
[0062]在另一个优选实施例中,该设备I的所述至少两个候选库文件包括所述初始库文件所对应的核心库文件。
[0063]具体地,源于所述初始库文件的候选库文件包括所对应的核心库文件,优选地,所述初始库文件在拆分时会基于相应的功能拆分为不同的子库文件,其中包括核心库文件和其他子库文件,所述核心库文件是能够实现初始库文件基本功能的库文件,并且能够为其他子库文件提供基础服务功能,例如网络服务、数据存储等等,同时,所述核心库文件还要具有良好的功能扩展性,能够接纳其他库文件提供的功能。而其他的子库文件则尽量保证单独实现一个功能,使得可以减小各个子库文件的耦合性,从而保证所述用户所选择的各个候选库文件避免重复功能的出现并带来资源的浪费。所述其他子库文件不一定被所述用户选择使用,同时,所述其他子库文件可以调用其对应的所述核心库文件的基础服务功能。
[0064]优选地,根据所述设备I,其中,所述核心库文件包括功能扩展接口,或者所述核心库文件的基础服务的实现未涉及第三方源码。
[0065]具体地,一方面,作为提供基础功能的所述核心库文件应该具有较好的功能扩展性,才能基于原有的基础功能不断接纳其他新的扩展功能,将具有一定相关性的功能连接在一起,使得所述用户在调用核心库文件时能够同时选择调用其他相关功能。在此,优选地,在核心库文件中提供相应的扩展功能接口,从而动态库文件可以调用扩展功能的接口,所述用户可以很方便地实现其他的扩展功能。例如,一个所述核心库文件能够实现新浪微博等基础平台的分享、授权等功能,此时若是还想将分享、
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1