一種用于提供sdk文件的方法與設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種用于提供SDK文件的技術(shù)。
【背景技術(shù)】
[0002]SDK的全稱為Software Development Kit, 一般都是一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合,它可以簡單的為某個程序設(shè)計(jì)語言提供應(yīng)用程序接口 API的一些文件。在開發(fā)基于移動設(shè)備操作系統(tǒng)的應(yīng)用過程中,用戶根據(jù)所開發(fā)的應(yīng)用的需要會使用大量的第三方SDK。例如,用戶開發(fā)一款手機(jī)應(yīng)用,并希望能夠?qū)⑾嚓P(guān)內(nèi)容分享到一個社交平臺,需要獲得能夠?qū)崿F(xiàn)分享內(nèi)容到所述社交平臺功能的SDK,所述SDK若是由用戶自行開發(fā)設(shè)計(jì),需要耗費(fèi)大量的精力和時(shí)間。
[0003]目前,該領(lǐng)域采用的方案是:網(wǎng)頁端第三方將不同的功能編譯鏈接形成一個SDK庫文件,并與相應(yīng)的頭文件、文檔、demo文件打包壓縮,用戶從網(wǎng)頁端下載壓縮包,通過解壓得到所述SDK庫文件,再集合到自己開發(fā)的工程中。但是,由于所述一個SDK庫文件中包含了多個功能,而并不是所有功能都被某一用戶全部需要,同時(shí),對于解壓得到的SDK庫文件,用戶又不能自行拆分使用,而是必須全盤接受,所以在后續(xù)的第三方SDK庫文件的集成中,集成的效率、集成的成本、以及對應(yīng)所開發(fā)的應(yīng)用程序都收到了很不利的影響,不僅如此,所述下載壓縮包中還包含了很多用戶不需要的文檔或文件內(nèi)容,也為用戶增加了相應(yīng)的負(fù)擔(dān)。
【發(fā)明內(nèi)容】
[0004]本申請的目的是提供一種用于提供SDK文件的方法與設(shè)備。
[0005]根據(jù)本申請的一個方面,提供了一種用于提供SDK文件的方法,包括:
[0006]將多個候選庫文件提供至用戶,其中,至少兩個所述候選庫文件源于同一初始庫文件;
[0007]根據(jù)所述用戶在所述多個候選庫文件中選擇的多個目標(biāo)庫文件生成對應(yīng)的SDK文件;
[0008]將所述SDK文件提供給對應(yīng)的目標(biāo)應(yīng)用。
[0009]根據(jù)本申請的另一方面,還提供了一種用于提供SDK文件的設(shè)備,包括:
[0010]第一裝置,用于將多個候選庫文件提供至用戶,其中,至少兩個所述候選庫文件源于同一初始庫文件;
[0011]第二裝置,用于根據(jù)所述用戶在所述多個候選庫文件中選擇的多個目標(biāo)庫文件生成對應(yīng)的SDK文件;
[0012]第三裝置,用于將所述SDK文件提供給對應(yīng)的目標(biāo)應(yīng)用。
[0013]與現(xiàn)有技術(shù)相比,本申請通過在應(yīng)用程序工程調(diào)用SDK的操作中,使得用戶可以根據(jù)自己的實(shí)際需要在多個候選庫文件中自行選擇若干個目標(biāo)庫文件,其中,至少有兩個所述候選庫文件源于統(tǒng)一初始庫文件,再將用戶選擇的所述目標(biāo)庫文件結(jié)合著相匹配的配置文件生成相應(yīng)的SDK文件,并提供給用戶的目標(biāo)應(yīng)用使用。從而,可以減少用戶下載的SDK文件的大小,減輕了集成工作量,提高了應(yīng)用程序開發(fā)的速度,控制了應(yīng)用程序?qū)?yīng)的可執(zhí)行文件的大小,并降低了用戶的集成成本。
【附圖說明】
[0014]通過閱讀參照以下附圖所作的對非限制性實(shí)施例所作的詳細(xì)描述,本申請的其它特征、目的和優(yōu)點(diǎn)將會變得更明顯:
[0015]圖1示出根據(jù)本申請一個方面的一種用于提供SDK文件的設(shè)備示意圖;
[0016]圖2示出根據(jù)本申請另一個方面的一種用于提供SDK文件的方法流程圖。
[0017]附圖中相同或相似的附圖標(biāo)記代表相同或相似的部件。
【具體實(shí)施方式】
[0018]下面結(jié)合附圖對本申請作進(jìn)一步詳細(xì)描述。
[0019]在本申請一個典型的配置中,終端、服務(wù)網(wǎng)絡(luò)的設(shè)備和可信方均包括一個或多個處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
[0020]內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲器,隨機(jī)存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。
[0021]計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實(shí)現(xiàn)信息存儲。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機(jī)存取存儲器(SRAM)、動態(tài)隨機(jī)存取存儲器(DRAM)、其他類型的隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計(jì)算設(shè)備訪問的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括非暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號和載波。
[0022]圖1示出根據(jù)本申請一個方面的一種用于提供SDK文件的設(shè)備示意圖。所述用于提供SDK文件的設(shè)備I包括第一裝置101、第二裝置102和第三裝置103。
[0023]其中,第一裝置101將多個候選庫文件提供至用戶,其中,至少兩個所述候選庫文件源于同一初始庫文件;第二裝置102根據(jù)所述用戶在所述多個候選庫文件中選擇的多個目標(biāo)庫文件生成對應(yīng)的SDK文件;第三裝置103將所述SDK文件提供給對應(yīng)的目標(biāo)應(yīng)用。
[0024]具體地,該設(shè)備I的第一裝置101將多個候選庫文件提供至用戶,其中,至少兩個所述候選庫文件源于同一初始庫文件。在此,所述的庫文件是指將SDK源代碼編譯成一個庫,該庫文件中包含了所述源代碼的對象文件,當(dāng)用戶的應(yīng)用工程加載了所述庫文件,就可以在自己的應(yīng)用工程中使用所述SDK提供的功能。當(dāng)用戶需要實(shí)現(xiàn)某功能,需要獲得相應(yīng)的SDK文件,所述SDK文件中包含著對應(yīng)的庫文件。此時(shí),提供SDK文件的設(shè)備I為用戶提供了多個候選庫文件,所述候選庫文件包括初始庫文件中的多個子庫文件,也包括與所述子庫文件相匹配的第三方庫文件。其中,所述初始庫文件可以是將多個功能編譯鏈接形成的一個整體的SDK庫文件,此時(shí)所述多個子庫文件就是對所述初始庫文件依照不同的功能進(jìn)行拆分后所得到的多個庫文件,該拆分所得到的多個子庫文件分別對應(yīng)于一個或多個功能,而這些功能原本都包含在一個初始庫文件之下;所述初始庫文件還包含一些針對不同功能、獨(dú)立設(shè)計(jì)出的、劃歸于同一初始庫文件之下的多個庫文件,所述多個庫文件原本就獨(dú)立存在,而不是從一個SDK庫文件中拆分而來的,它們同樣被提供給用戶作為候選庫文件,例如庫文件I和庫文件2是分別針對兩個具體功能的庫文件,它們最初都是獨(dú)立設(shè)計(jì)得到的,若將所述庫文件I和庫文件2基于一定的功能相關(guān)性劃歸到一個初始庫文件之下,則這兩個庫文件就成為所述初始庫文件的子庫文件。在此,至少有兩個所述候選庫文件源于同一初始庫文件,例如,有兩個庫文件都是由同一個初始庫文件拆分得到的,或者這兩個庫文件基于功能的相關(guān)性都來自于同一個初始庫文件,基于所述用戶的請求,所述兩個庫文件基于一定的功能選擇都會被提供給所述用戶。
[0025]例如,一款移動應(yīng)用的開發(fā)者,希望將自己的移動應(yīng)用的相關(guān)內(nèi)容分享到各個社交平臺,例如新浪微博、微信、QQ空間、人人網(wǎng)等,此時(shí),所述開發(fā)者希望獲得實(shí)現(xiàn)分享到相應(yīng)社交平臺這一功能的SDK文件,首先,該設(shè)備I在網(wǎng)頁端為開發(fā)者提供了多個候選庫文件,所述候選庫文件包括初始庫文件的子庫文件,例如,所述初始庫文件是一個將所有與所述分享操作相關(guān)的功能編譯連接成的一個整體的庫文件,則所述設(shè)備I將其拆分成多個子庫文件,每個子庫文件都對應(yīng)于相應(yīng)的一個或多個原本屬于初始庫文件的功能,如子庫文件I對應(yīng)于新浪微博的分享功能,子庫文件2對應(yīng)于QQ空間的分享功能,子庫文件3對應(yīng)于人人網(wǎng)的授權(quán)登陸功能,……;所述候選庫文件還包括初始庫文件的子庫文件所對應(yīng)的第三方庫文件,例如所述子庫文件I對應(yīng)于新浪微博的分享功能,則新浪微博應(yīng)用的庫文件也會作為候選庫文件,并在網(wǎng)頁端提供給所述開發(fā)者。在此,提供給開發(fā)者的所述多個候選庫文件中至少有兩個是來源于同一個初始庫文件。例如,上述子庫文件1、子庫文件2、子庫文件3、子庫文件4……,都是源于同一個所述初始庫文件。
[0026]接著,該設(shè)備I的第二裝置102根據(jù)所述用戶在所述多個候選庫文件中選擇的多個目標(biāo)庫文件生成對應(yīng)的SDK文件。對于所述設(shè)備I所提供的多個候選庫文件,每一個候選庫文件都分別對應(yīng)于相應(yīng)的功能實(shí)現(xiàn),每一個候選庫文件都是相對獨(dú)立的,盡量減小各個候選庫文件之間的耦合性,因?yàn)楦鱾€候選庫文件對應(yīng)的功能相對獨(dú)立,