两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

安裝文件的獲取方法和裝置與流程

文檔序號(hào):11406876閱讀:235來源:國(guó)知局
安裝文件的獲取方法和裝置與流程

本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體而言,涉及一種安裝文件的獲取方法和裝置。



背景技術(shù):

為了避免頻繁的應(yīng)用更新對(duì)用戶造成煩擾,插件開發(fā)技術(shù)顯得越來越重要。插件開發(fā)指將原本獨(dú)立的app(手機(jī)軟件application的縮寫)拆分成一個(gè)宿主app和多個(gè)插件app。插件app內(nèi)置在宿主app中,手機(jī)安裝宿主app,在宿主app運(yùn)行后會(huì)加載、安裝插件app。宿主app也可以通過從應(yīng)用內(nèi)部存儲(chǔ)目錄(如手機(jī)自帶內(nèi)存的目錄)、外部存儲(chǔ)目錄(如sd卡的目錄)中加載插件app。對(duì)于應(yīng)用提供方,可以通過網(wǎng)絡(luò)動(dòng)態(tài)下發(fā)新的插件app,使得用戶無(wú)需安裝新的app,從而更新已安裝的app的功能或修復(fù)線上漏洞bug。

上述的宿主app是指在開發(fā)人員完成編碼后,編譯生成的能夠在移動(dòng)設(shè)備(如android系統(tǒng)手機(jī)、ios系統(tǒng)手機(jī)等)上正常安裝并運(yùn)行的安裝包。上述的插件app是指在編譯生成安裝包后,不能獨(dú)立運(yùn)行而需要依托于宿主app才能運(yùn)行的安裝包。

在編譯過程中,需要開發(fā)人員輸入相關(guān)命令分別對(duì)插件app所在的工程和宿主app所在的工程進(jìn)行編譯,編譯過程中需要大量的重復(fù)勞動(dòng)(如輸入編譯命令、調(diào)整文件位置等),且在開發(fā)階段,例如在界面開發(fā)、設(shè)計(jì)還原等需要頻繁查看界面效果的場(chǎng)景,往往會(huì)面臨只改1個(gè)像素,卻需要編譯整個(gè)項(xiàng)目(如宿主工程),進(jìn)行效果的驗(yàn)證查看,該驗(yàn)證過程嚴(yán)重影響了項(xiàng)目進(jìn)度,降低了開發(fā)效率,在修改其余參數(shù)時(shí)也面臨著同樣的窘境。

針對(duì)相關(guān)技術(shù)中在開發(fā)應(yīng)用安裝包時(shí)開發(fā)編譯的效率較低的技術(shù)問題,目前尚未提出有效的解決方案。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例提供了一種安裝文件的獲取方法和裝置,以至少解決相關(guān)技術(shù)中在開發(fā)應(yīng)用安裝包時(shí)開發(fā)編譯的效率較低的技術(shù)問題。

根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種安裝文件的獲取方法,該方法包括:接收到編譯指令,其中,編譯指令用于指示對(duì)第一資源文件和第二資源文件進(jìn)行編譯,得到待安裝的目標(biāo)應(yīng)用的安裝文件;在編譯指令的觸發(fā)下執(zhí)行對(duì)第一資源文件的編譯,得到目標(biāo)應(yīng)用的插件;在完成對(duì)第一資源文件的編譯之后,繼續(xù)執(zhí)行對(duì)第二資源文件和插件的編譯,得到目標(biāo)應(yīng)用的安裝文件。

根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種安裝文件的獲取裝置,該裝置包括:接收單元,用于接收到編譯指令,其中,編譯指令用于指示對(duì)第一資源文件和第二資源文件進(jìn)行編譯,得到待安裝的目標(biāo)應(yīng)用的安裝文件;第一編譯單元,用于在編譯指令的觸發(fā)下執(zhí)行對(duì)第一資源文件的編譯,得到目標(biāo)應(yīng)用的插件;第二編譯單元,用于在完成對(duì)第一資源文件的編譯之后,繼續(xù)執(zhí)行對(duì)第二資源文件和插件的編譯,得到目標(biāo)應(yīng)用的安裝文件。

在本發(fā)明實(shí)施例中,在接收到編譯指令時(shí),通過在計(jì)算機(jī)上啟動(dòng)的進(jìn)程對(duì)第一資源文件進(jìn)行編譯,得到目標(biāo)應(yīng)用的插件,并通過該進(jìn)程對(duì)第二資源文件和得到的插件進(jìn)行編譯,得到目標(biāo)應(yīng)用的安裝文件,而不用在編譯的過程中逐個(gè)輸入命令和相關(guān)參數(shù),可以解決了相關(guān)技術(shù)中在開發(fā)應(yīng)用安裝包時(shí)開發(fā)編譯的效率較低的技術(shù)問題,進(jìn)而達(dá)到提高編譯效率的技術(shù)效果。

附圖說明

此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:

圖1是根據(jù)本發(fā)明實(shí)施例的安裝文件的獲取方法的硬件環(huán)境的示意圖;

圖2是根據(jù)本發(fā)明實(shí)施例的一種可選的安裝文件的獲取方法的流程圖;

圖3是根據(jù)本發(fā)明實(shí)施例的一種可選的安裝文件的獲取系統(tǒng)的示意圖;

圖4是根據(jù)本發(fā)明實(shí)施例的一種可選的安裝文件的獲取方法的流程圖;

圖5是根據(jù)本發(fā)明實(shí)施例的一種可選的gradle插件中代碼的示意圖;

圖6是根據(jù)本發(fā)明實(shí)施例的一種可選的gradle插件中代碼的示意圖;

圖7是根據(jù)本發(fā)明實(shí)施例的一種可選的gradle插件中代碼的示意圖;

圖8是根據(jù)本發(fā)明實(shí)施例的一種可選的編譯界面的示意圖;

圖9是根據(jù)本發(fā)明實(shí)施例的一種可選的安裝文件的獲取裝置的示意圖;以及

圖10是根據(jù)本發(fā)明實(shí)施例的一種終端的結(jié)構(gòu)框圖。

具體實(shí)施方式

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。

需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語(yǔ)“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。

首先,在對(duì)本發(fā)明實(shí)施例進(jìn)行描述的過程中出現(xiàn)的部分名詞或者術(shù)語(yǔ)適用于如下解釋:

app:手機(jī)軟件application的縮寫。

宿主app:在開發(fā)人員完成編碼后,編譯生成能夠在移動(dòng)設(shè)備(如android手機(jī))上正常安裝并運(yùn)行的安裝包。

插件app:編譯生成安裝包后,不能獨(dú)立運(yùn)行,需要依托于宿主app才能運(yùn)行的安裝包。

插件開發(fā):將原本獨(dú)立的app拆分成一個(gè)宿主app和多個(gè)插件app。插件app內(nèi)置在宿主app中,手機(jī)安裝宿主app,在宿主app運(yùn)行后會(huì)加載、安裝插件app。

實(shí)施例1

根據(jù)本發(fā)明實(shí)施例,提供了一種安裝文件的獲取方法的方法實(shí)施例。

可選地,在本實(shí)施例中,上述安裝文件的獲取方法可以應(yīng)用于如圖1所示的由服務(wù)器102和終端104所構(gòu)成的硬件環(huán)境中。如圖1所示,服務(wù)器102通過網(wǎng)絡(luò)與終端104進(jìn)行連接,上述網(wǎng)絡(luò)包括但不限于:廣域網(wǎng)、城域網(wǎng)或局域網(wǎng),終端104并不限定于pc、手機(jī)、平板電腦等。本發(fā)明實(shí)施例的安裝文件的獲取方法可以由服務(wù)器102來執(zhí)行,也可以由終端104來執(zhí)行,還可以是由服務(wù)器102和終端104共同執(zhí)行。其中,終端104執(zhí)行本發(fā)明實(shí)施例的安裝文件的獲取方法也可以是由安裝在其上的客戶端來執(zhí)行。

圖2是根據(jù)本發(fā)明實(shí)施例的一種可選的安裝文件的獲取方法的流程圖,如圖2所示,該方法可以包括以下步驟:

步驟s202,接收到編譯指令,編譯指令用于指示對(duì)第一資源文件和第二資源文件進(jìn)行編譯,得到待安裝的目標(biāo)應(yīng)用的安裝文件;

步驟s204,在編譯指令的觸發(fā)下執(zhí)行對(duì)第一資源文件的編譯,得到目標(biāo)應(yīng)用的插件;

步驟s206,在完成對(duì)第一資源文件的編譯之后,繼續(xù)執(zhí)行對(duì)第二資源文件和插件的編譯,得到目標(biāo)應(yīng)用的安裝文件。

通過上述步驟s202至步驟s208,在接收到編譯指令時(shí),通過在計(jì)算機(jī)上啟動(dòng)的進(jìn)程對(duì)第一資源文件進(jìn)行編譯,得到目標(biāo)應(yīng)用的插件,并通過該進(jìn)程對(duì)第二資源文件和得到的插件進(jìn)行編譯,得到目標(biāo)應(yīng)用的安裝文件,而不用在編譯的過程中逐個(gè)輸入命令和相關(guān)參數(shù),可以解決了相關(guān)技術(shù)中在開發(fā)應(yīng)用安裝包時(shí)開發(fā)編譯的效率較低的技術(shù)問題,進(jìn)而達(dá)到提高編譯效率的技術(shù)效果。

上述的第一資源文件為包括插件應(yīng)用的源代碼的文件;第二資源文件為包括宿主應(yīng)用的源代碼的文件;目標(biāo)應(yīng)用即得到的包括插件應(yīng)用的宿主應(yīng)用。

上述的進(jìn)程可通過執(zhí)行預(yù)先定義好的任務(wù)腳本來完成對(duì)第一資源文件和第二資源文件的編譯,且預(yù)先制定的任務(wù)腳本中包括各種類型的應(yīng)用安裝包(即安裝文件)開發(fā)所涉及的參數(shù),在編譯過程中,可以根據(jù)源代碼文件中的相關(guān)參數(shù)在腳本中選擇對(duì)應(yīng)的參數(shù),從而可以使得任務(wù)腳本具備較強(qiáng)的適應(yīng)性。

在任務(wù)腳本執(zhí)行完編譯之后,還可以通過任務(wù)腳本中的安裝命令自動(dòng)將得到的目標(biāo)應(yīng)用的安裝文件安裝至移動(dòng)終端側(cè),便于對(duì)目標(biāo)應(yīng)用進(jìn)行調(diào)試。

上述的目標(biāo)應(yīng)用是指安裝在移動(dòng)終端上的應(yīng)用,如安卓設(shè)備上的安卓應(yīng)用、ios設(shè)備上ios應(yīng)用等。本申請(qǐng)的上述方法可以在包括cpu等控制器的設(shè)備上執(zhí)行。

在本申請(qǐng)的技術(shù)方案中,應(yīng)用開發(fā)工程師通過在終端terminal上點(diǎn)擊編譯按鈕(產(chǎn)生編譯指令),相應(yīng)的任務(wù)就會(huì)自動(dòng)執(zhí)行,每個(gè)插件工程生成對(duì)應(yīng)的插件app,由于插件app并不能單獨(dú)運(yùn)行,而需要依賴于宿主app運(yùn)行,故可以通過任務(wù)自動(dòng)將此插件app拷貝至宿主app所在工程內(nèi)置的插件目錄,再通過相應(yīng)的任務(wù)編譯宿主工程,生成可獨(dú)立運(yùn)行的app(目標(biāo)應(yīng)用),并安裝到手機(jī)等移動(dòng)設(shè)備上,在移動(dòng)設(shè)備上運(yùn)行該獨(dú)立的app,以對(duì)插件app的功能進(jìn)行驗(yàn)證,在驗(yàn)證通過后即可發(fā)布。為了進(jìn)一步詳述本申請(qǐng)的實(shí)施例,下面結(jié)合圖2詳述本申請(qǐng)的實(shí)施例:

在步驟s202提供的技術(shù)方案中,在接收到編譯指令之前,本申請(qǐng)的方法還包括:創(chuàng)建包括第一代碼集合的第一腳本(即上述的任務(wù)腳本),其中,第一代碼集合用于對(duì)第一資源文件進(jìn)行編譯;創(chuàng)建包括第二代碼集合的第二腳本(即上述的任務(wù)腳本),其中,第二代碼集合用于對(duì)第二資源文件和插件進(jìn)行編譯。

根據(jù)開發(fā)的過程,按照編譯步驟,將各個(gè)編譯步驟中需要使用的編譯命令直接以腳本命令的形式寫入腳本文件中,而無(wú)需在開發(fā)的過程中,由開發(fā)人員記住編譯步驟、以及各個(gè)編譯步驟中需要使用的編譯命令,每次完整的編譯都由開發(fā)人員花費(fèi)時(shí)間去回想編譯命令、手動(dòng)輸入編譯命令,避免大量的重復(fù)勞動(dòng),節(jié)省了工作人員寶貴的時(shí)間。

即使在項(xiàng)目中有新成員加入時(shí),新成員也可快速上手,無(wú)需進(jìn)行大量的培訓(xùn),只需要調(diào)用上述的腳本即可,而無(wú)需去了解編譯的過程,避免了整個(gè)項(xiàng)目的進(jìn)度被影響。

當(dāng)開發(fā)人員在編譯工具(如androidstudio)中點(diǎn)擊編譯按鈕時(shí),隨即產(chǎn)生了一個(gè)編譯指令,該編譯指令可觸發(fā)本申請(qǐng)的編譯過程,也即可以自動(dòng)運(yùn)行目標(biāo)應(yīng)用的編譯和安裝的步驟。

上述的androidstudio是一個(gè)android集成開發(fā)工具,基于intellijidea。與eclipseadt類似,androidstudio提供了集成的android開發(fā)工具,可用于開發(fā)和調(diào)試。

可選地,為了提高與腳本之間的兼容度,在接收到編譯指令之前,本申請(qǐng)的方法還可以包括如下步驟:創(chuàng)建用于在編譯工具中運(yùn)行的調(diào)用工具,其中,調(diào)用工具用于在編譯指令的觸發(fā)下,通過進(jìn)程調(diào)用第一腳本和第二腳本提供的接口,以執(zhí)行第一代碼集合和第二代碼集合。

上述的調(diào)用工具可以在編譯工具中以插件的形式存在,該調(diào)用工具的功能包括檢測(cè)上述的編譯指令,在檢測(cè)到該命令的情況下,直接對(duì)第一腳本和第二腳本進(jìn)行調(diào)用,具體是通過第一腳本和第二腳本提供的接口對(duì)其進(jìn)行調(diào)用。

上述編譯工具中的調(diào)用工具可以在運(yùn)行時(shí)創(chuàng)建一條進(jìn)程(即本申請(qǐng)的所提及的進(jìn)程),通過該進(jìn)程專門處理資源文件的編譯,而不用與其它應(yīng)用(如編譯工具)共用一條進(jìn)程,可以提高處理效率。

在步驟s204提供的技術(shù)方案中,在編譯指令的觸發(fā)下執(zhí)行對(duì)第一資源文件的編譯包括:在進(jìn)程上執(zhí)行第一代碼集合,以對(duì)第一資源文件進(jìn)行編譯。

具體地,在進(jìn)程上執(zhí)行第一代碼集合,以對(duì)第一資源文件進(jìn)行編譯時(shí),可以通過如下方式實(shí)現(xiàn):在進(jìn)程上執(zhí)行第一代碼集合,以指示編譯工具對(duì)第一資源文件所在的項(xiàng)目(即插件工程或者插件項(xiàng)目)進(jìn)行編譯,得到插件。

可選地,在插件為多個(gè)的情況下,在進(jìn)程上執(zhí)行第一代碼集合是指:在進(jìn)程的多個(gè)線程上執(zhí)行多個(gè)第一代碼集合,每個(gè)線程對(duì)應(yīng)于一個(gè)插件的第一代碼集合,也即每個(gè)線程用于跑對(duì)應(yīng)于一個(gè)插件的第一代碼集合,具體就是執(zhí)行第一代碼集合中的編譯命令,進(jìn)而完成對(duì)各個(gè)第一資源文件的編譯。

為了進(jìn)一步提高編譯的效率,上述的多個(gè)線程允許并行運(yùn)行。

在步驟s206提供的技術(shù)方案中,繼續(xù)執(zhí)行對(duì)第二資源文件和插件的編譯包括:在進(jìn)程上執(zhí)行第二代碼集合,以對(duì)第二資源文件和插件進(jìn)行編譯。

需要說明的是,上述編譯得到的插件可以每次輸出時(shí)在指定的位置(便于編譯),也可以輸出至任意的位置。若上述的插件每次輸出的位置不同或者不滿足宿主工程的編譯需求,在進(jìn)程上執(zhí)行第二代碼集合之前,可將編譯得到的插件存放至第二資源文件所在項(xiàng)目中與插件相關(guān)聯(lián)的位置。

在進(jìn)程上執(zhí)行第二代碼集合,以對(duì)第二資源文件和插件進(jìn)行編譯包括:在進(jìn)程上執(zhí)行第二代碼集合,以指示編譯工具對(duì)第二資源文件所在的項(xiàng)目(即宿主工程或宿主項(xiàng)目)進(jìn)行編譯。

需要說明的是,對(duì)于某些存在依賴文件的應(yīng)用,還需要對(duì)這些依賴文件(即第三資源文件)進(jìn)行相應(yīng)的處理,在接收到編譯指令之后,通過計(jì)算機(jī)設(shè)備對(duì)第三資源文件進(jìn)行打包,得到目標(biāo)數(shù)據(jù)包,其中,第三資源文件為目標(biāo)應(yīng)用在運(yùn)行時(shí)需要用到的資源文件。

例如,對(duì)于安卓應(yīng)用而言,在androidlibrary中抽取android項(xiàng)目的通用功能,獨(dú)立成為一個(gè)組件,可供其它android項(xiàng)目使用,在應(yīng)用編譯的過程中,可將上述androidlibrary導(dǎo)出為jar文件(全稱為javaarchive,即java歸檔文件),jar文件是與平臺(tái)無(wú)關(guān)的文件格式,它允許將許多文件組合成一個(gè)壓縮文件,主要是將編寫好的類,打包編譯獨(dú)立的jar包,供其它應(yīng)用程序(即上述的目標(biāo)應(yīng)用)使用。

在得到目標(biāo)應(yīng)用的安裝文件和目標(biāo)數(shù)據(jù)包之后,即可安裝目標(biāo)應(yīng)用的安裝文件至移動(dòng)終端,以對(duì)目標(biāo)應(yīng)用進(jìn)行測(cè)試。

相關(guān)技術(shù)中,在開發(fā)編譯插件app的過程中效率較低,在開發(fā)階段,例如在界面開發(fā)、設(shè)計(jì)還原等需要頻繁查看界面效果的場(chǎng)景,往往會(huì)面臨只改1個(gè)像素,卻需要編譯整個(gè)項(xiàng)目(宿主工程),驗(yàn)證影響了項(xiàng)目進(jìn)度,降低了開發(fā)效率,在修改其余參數(shù)時(shí)也面臨著同樣的窘境,由于不能修改單個(gè)插件工程,僅編譯單個(gè)插件并快速在手機(jī)驗(yàn)證插件上功能,嚴(yán)重影響開發(fā)效率和開發(fā)人員的積極性。

而使用本申請(qǐng)?zhí)峁┑募夹g(shù)方案,在編譯驗(yàn)證的過程中,僅僅只需要點(diǎn)擊編譯工具上的編譯按鈕,即可通過調(diào)用腳本的形式自動(dòng)運(yùn)行相關(guān)的指令,調(diào)用編譯工具進(jìn)行編譯,并自動(dòng)將安裝包安裝至移動(dòng)設(shè)備上,方便開發(fā)人員及時(shí)查看修改后的效果。尤其是在頻繁修改,需要進(jìn)行驗(yàn)證的情況下,本申請(qǐng)可以極大的提高整個(gè)項(xiàng)目的進(jìn)度。

為了進(jìn)一步詳述本申請(qǐng)的實(shí)施例,下面以安卓應(yīng)用(即目標(biāo)應(yīng)用)為例,結(jié)合圖3和圖4詳述本申請(qǐng)的實(shí)施例。

具體的思路如圖3所示:制定好編譯項(xiàng)目的命令協(xié)議,主要包括用于編譯插件項(xiàng)目的第一代碼集合、用于編譯宿主應(yīng)用的第二代碼集合,編寫gradle插件(也即第一腳本和第二腳本),具體即將第一代碼集合和第二代碼集合植入腳本,在android項(xiàng)目根目錄的“build.gradle”文件中引入gradle插件。然后編寫run++插件(即編譯工具中的調(diào)用工具),在編譯平臺(tái)androidstudio中安裝run++插件,運(yùn)行run++插件,選中需要編譯的項(xiàng)目,點(diǎn)擊run按鈕,開始編譯、安裝,此過程中可能會(huì)使用到依賴文件(即文件庫(kù)中的第三資源文件)。

上述的gradle插件是一個(gè)基于apacheant和apachemaven概念的項(xiàng)目自動(dòng)化建構(gòu)工具。它使用一種基于groovy的特定領(lǐng)域語(yǔ)言(dsl)來聲明項(xiàng)目設(shè)置,拋棄了基于xml的各種繁瑣配置。以面向java應(yīng)用為主,當(dāng)前其支持的語(yǔ)言限于java、groovy和scala,未來將支持更多的語(yǔ)言;同時(shí)gradle也是一個(gè)基于jvm的構(gòu)建工具,是一款通用靈活的構(gòu)建工具,支持maven、ivy倉(cāng)庫(kù),支持傳遞性依賴管理,而不需要遠(yuǎn)程倉(cāng)庫(kù)或者是pom.xml和ivy.xml配置文件,基于groovy、build腳本使用groovy編寫。

由此可見,使用gradle插件便于進(jìn)行項(xiàng)目管理,使得構(gòu)建更為靈活。

需要說明的是,對(duì)于ios等其它類型的應(yīng)用而言,也可以選擇對(duì)應(yīng)的工具應(yīng)用來編譯腳本。

下面結(jié)合圖4詳述本申請(qǐng)的實(shí)現(xiàn)步驟:

步驟s402,定義編譯、安裝、啟動(dòng)及導(dǎo)出jar包等命令協(xié)議。

將編譯、安裝、啟動(dòng)及導(dǎo)出jar包等命令以及相互之間邏輯根據(jù)定義好。

步驟s404,基于第一步的協(xié)議,編寫gradle插件,提供gradle進(jìn)行編譯的接口。

根據(jù)上述定義好的邏輯關(guān)系將編譯、安裝、啟動(dòng)及導(dǎo)出jar包等命令編寫為gradle插件(即第一腳本和第二腳本)。

對(duì)于導(dǎo)出jar包、安裝應(yīng)用相關(guān)的命令也可以一并寫入gradle插件中,以便于相關(guān)流程的自動(dòng)運(yùn)行。

上述的gradle插件提供有如下調(diào)用接口:

(1)assemblereleaserun接口:用于編譯宿主工程、插件工程,生成app(目標(biāo)應(yīng)用的安裝文件);

(2)installreleaserun接口:調(diào)用并安裝目標(biāo)應(yīng)用的安裝文件至手機(jī);

(3)exportlibraryrun接口:用于導(dǎo)出jar,提供給宿主app或插件app使用。

步驟s406,在android項(xiàng)目中引入編寫的gradle插件。具體包括如下幾個(gè)子步驟:

步驟s4062,在android工程根目錄添加代碼依賴,具體代碼如圖5所示,圖5示出了一種可選地建立android工程根目錄的代碼依賴的代碼;

步驟s4064,在宿主工程聲明引入host插件,具體代碼如圖6所示;

步驟s4066,在宿主工程聲明引入plugin插件,具體代碼如圖7所示。

步驟s408,編寫androidstudio插件(即run++插件,也即調(diào)用工具),提供可視化操作界面。

對(duì)于工作人員而言,在使用本申請(qǐng)的技術(shù)方案進(jìn)行應(yīng)用驗(yàn)證的過程中,先啟動(dòng)編譯工具androidstudio,如圖8所示,安裝步驟s408編寫的androidstudio(即run++插件)插件,點(diǎn)擊工具欄編譯圖標(biāo),運(yùn)行插件。插件啟動(dòng)后,默認(rèn)選中開發(fā)人員正在編輯的android工程,直接點(diǎn)擊“run”編譯當(dāng)前工程。

圖8中,cdk為通用開發(fā)工具庫(kù),host為宿主工程,jjc表示競(jìng)技彩插件工程,kpc表示快頻彩插件工程,szc表示數(shù)字彩插件工程。library即為androidlibrary;plugin表示為插件工程;host表示為宿主工程。如圖8中所示,選中jjc插件工程,直接點(diǎn)擊“run”按鈕,即可快速安裝至手機(jī)。

需要說明的是,可以預(yù)先根據(jù)需求對(duì)重啟“restart”、配置“config”以及數(shù)據(jù)庫(kù)“database”進(jìn)行配置。

如需要安裝應(yīng)用后重啟移動(dòng)設(shè)備,即可選中“restart”(即小框內(nèi)存在符號(hào)“√”表示選中)。

在本申請(qǐng)的技術(shù)方案中,開發(fā)人員也可以選擇其它插件工程、宿主工程進(jìn)行編譯,支持多插件并行編譯。整個(gè)編譯過程,不需要開發(fā)人員輸入任何編譯代碼,不需要思考編譯步驟,不需要等待逐個(gè)插件編譯。從而大大節(jié)省時(shí)間,提升工作效率。

通過本申請(qǐng)?zhí)峁┑膶?shí)施例,實(shí)現(xiàn)了androidstudio編譯工具的可視化;提升了android開發(fā)人員進(jìn)行插件開發(fā)的效率,減少編譯等待時(shí)間;本申請(qǐng)的技術(shù)方案簡(jiǎn)單、易用,便于推廣。

需要說明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。

通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實(shí)施例的方法可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。

實(shí)施例2

根據(jù)本發(fā)明實(shí)施例,還提供了一種用于實(shí)施上述安裝文件的獲取方法的安裝文件的獲取裝置。圖9是根據(jù)本發(fā)明實(shí)施例的一種可選的安裝文件的獲取裝置的示意圖,如圖9所示,該裝置可以包括:接收單元92、第一編譯單元94以及第二編譯單元96。

接收單元92,用于接收到編譯指令,編譯指令用于指示對(duì)第一資源文件和第二資源文件進(jìn)行編譯,得到待安裝的目標(biāo)應(yīng)用的安裝文件;

第一編譯單元94,用于在編譯指令的觸發(fā)下執(zhí)行對(duì)第一資源文件的編譯,得到目標(biāo)應(yīng)用的插件;

第二編譯單元96,用于在完成對(duì)第一資源文件的編譯之后,繼續(xù)執(zhí)行對(duì)第二資源文件和插件的編譯,得到目標(biāo)應(yīng)用的安裝文件。

需要說明的是,該實(shí)施例中的接收單元92可以用于執(zhí)行本申請(qǐng)實(shí)施例1中的步驟s202,該實(shí)施例中的第一編譯單元94可以用于執(zhí)行本申請(qǐng)實(shí)施例1中的步驟s204,該實(shí)施例中的第二編譯單元96可以用于執(zhí)行本申請(qǐng)實(shí)施例1中的步驟s206。

此處需要說明的是,上述模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例1所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運(yùn)行在如圖1所示的硬件環(huán)境中,可以通過軟件實(shí)現(xiàn),也可以通過硬件實(shí)現(xiàn)。

通過上述模塊,在接收到編譯指令時(shí),通過在計(jì)算機(jī)上啟動(dòng)的進(jìn)程對(duì)第一資源文件進(jìn)行編譯,得到目標(biāo)應(yīng)用的插件,并通過該進(jìn)程對(duì)第二資源文件和得到的插件進(jìn)行編譯,得到目標(biāo)應(yīng)用的安裝文件,而不用在編譯的過程中逐個(gè)輸入命令和相關(guān)參數(shù),可以解決了相關(guān)技術(shù)中在開發(fā)應(yīng)用安裝包時(shí)開發(fā)編譯的效率較低的技術(shù)問題,進(jìn)而達(dá)到提高編譯效率的技術(shù)效果。

上述的第一資源文件為包括插件應(yīng)用的源代碼的文件;第二資源文件為包括宿主應(yīng)用的源代碼的文件;目標(biāo)應(yīng)用即得到的包括插件應(yīng)用的宿主應(yīng)用。

上述的進(jìn)程可通過執(zhí)行預(yù)先定義好的任務(wù)腳本來完成對(duì)第一資源文件和第二資源文件的編譯,且預(yù)先制定的任務(wù)腳本中包括各種類型的應(yīng)用安裝包(即安裝文件)開發(fā)所涉及的參數(shù),在編譯過程中,可以根據(jù)源代碼文件中的相關(guān)參數(shù)在腳本中選擇對(duì)應(yīng)的參數(shù),從而可以使得任務(wù)腳本具備較強(qiáng)的適應(yīng)性。

在任務(wù)腳本執(zhí)行完編譯之后,還可以通過任務(wù)腳本中的安裝命令自動(dòng)將得到的目標(biāo)應(yīng)用的安裝文件安裝至移動(dòng)終端側(cè),便于對(duì)目標(biāo)應(yīng)用進(jìn)行調(diào)試。

上述的目標(biāo)應(yīng)用是指安裝在移動(dòng)終端上的應(yīng)用,如安卓設(shè)備上的安卓應(yīng)用、ios設(shè)備上ios應(yīng)用等。本申請(qǐng)的上述方法可以在包括cpu等控制器的設(shè)備上執(zhí)行。

在本申請(qǐng)的技術(shù)方案中,應(yīng)用開發(fā)工程師通過在終端terminal上點(diǎn)擊編譯按鈕(產(chǎn)生編譯指令),相應(yīng)的任務(wù)就會(huì)自動(dòng)執(zhí)行,每個(gè)插件工程生成對(duì)應(yīng)的插件app,由于插件app并不能單獨(dú)運(yùn)行,而需要依賴于宿主app運(yùn)行,故可以通過任務(wù)自動(dòng)將此插件app拷貝至宿主app所在工程內(nèi)置的插件目錄,再通過相應(yīng)的任務(wù)編譯宿主工程,生成可獨(dú)立運(yùn)行的app(目標(biāo)應(yīng)用),并安裝到手機(jī)等移動(dòng)設(shè)備上,在移動(dòng)設(shè)備上運(yùn)行該獨(dú)立的app,以對(duì)插件app的功能進(jìn)行驗(yàn)證,在驗(yàn)證通過后即可發(fā)布。

可選地,本申請(qǐng)的裝置還可以包括:第一創(chuàng)建單元,用于在接收到編譯指令之前,創(chuàng)建包括第一代碼集合的第一腳本,其中,第一代碼集合用于對(duì)第一資源文件進(jìn)行編譯;第二創(chuàng)建單元,用于創(chuàng)建包括第二代碼集合的第二腳本,其中,第二代碼集合用于對(duì)第二資源文件和插件進(jìn)行編譯。

根據(jù)開發(fā)的過程,按照編譯步驟,將各個(gè)編譯步驟中需要使用的編譯命令直接以腳本命令的形式寫入腳本文件中,而無(wú)需在開發(fā)的過程中,由開發(fā)人員記住編譯步驟、以及各個(gè)編譯步驟中需要使用的編譯命令,每次完整的編譯都由開發(fā)人員花費(fèi)時(shí)間去回想編譯命令、手動(dòng)輸入編譯命令,避免大量的重復(fù)勞動(dòng),節(jié)省了工作人員寶貴的時(shí)間。

可選地,可以通過本申請(qǐng)的裝置包括的如下模塊提高與腳本之間的兼容度:第三創(chuàng)建單元,用于在接收到編譯指令之前,創(chuàng)建用于在編譯工具中運(yùn)行的調(diào)用工具,其中,調(diào)用工具用于在編譯指令的觸發(fā)下,通過進(jìn)程調(diào)用第一腳本和第二腳本提供的接口,以執(zhí)行第一代碼集合和第二代碼集合。

上述的調(diào)用工具可以在編譯工具中以插件的形式存在,該調(diào)用工具的功能包括檢測(cè)上述的編譯指令,在檢測(cè)到該命令的情況下,直接對(duì)第一腳本和第二腳本進(jìn)行調(diào)用,具體是通過第一腳本和第二腳本提供的接口對(duì)其進(jìn)行調(diào)用。

上述編譯工具中的調(diào)用工具可以在運(yùn)行時(shí)創(chuàng)建一條進(jìn)程(即本申請(qǐng)的所提及的進(jìn)程),通過該進(jìn)程專門處理資源文件的編譯,而不用與其它應(yīng)用(如編譯工具)共用一條進(jìn)程,可以提高處理效率。

可選地,第一編譯單元還用于在進(jìn)程上執(zhí)行第一代碼集合,以對(duì)第一資源文件進(jìn)行編譯。

具體地,第一編譯單元在進(jìn)程上執(zhí)行第一代碼集合,以對(duì)第一資源文件進(jìn)行編譯時(shí),可以通過如下模塊實(shí)現(xiàn):第一編譯模塊,用于在進(jìn)程上執(zhí)行第一代碼集合,以指示編譯工具對(duì)第一資源文件所在的項(xiàng)目進(jìn)行編譯,得到插件。

可選地,第一編譯模塊還用于在插件為多個(gè)的情況下,在進(jìn)程的多個(gè)線程上執(zhí)行多個(gè)第一代碼集合,其中,每個(gè)線程對(duì)應(yīng)于一個(gè)插件的第一代碼集合。

為了進(jìn)一步提高編譯的效率,上述的多個(gè)線程允許并行運(yùn)行。

可選地,第二編譯單元還用于在進(jìn)程上執(zhí)行第二代碼集合,以對(duì)第二資源文件和插件進(jìn)行編譯。

需要說明的是,上述編譯得到的插件可以每次輸出時(shí)在指定的位置(便于編譯),也可以輸出至任意的位置。若上述的插件每次輸出的位置不同或者不滿足宿主工程的編譯需求,則在進(jìn)程上執(zhí)行第二代碼集合之前,可通過第二編譯單元包括的保存模塊將編譯得到的插件存放至第二資源文件所在項(xiàng)目中與插件相關(guān)聯(lián)的位置。

可選地,第二編譯單元還可包括第二編譯模塊,用于在進(jìn)程上執(zhí)行第二代碼集合,以指示編譯工具對(duì)第二資源文件所在的項(xiàng)目進(jìn)行編譯。

需要說明的是,對(duì)于某些存在依賴文件的應(yīng)用,還需要對(duì)這些依賴文件(即第三資源文件)進(jìn)行相應(yīng)的處理,具體通過該裝置的打包單元實(shí)現(xiàn),打包單元在接收到編譯指令之后,通過計(jì)算機(jī)設(shè)備對(duì)第三資源文件進(jìn)行打包,得到目標(biāo)數(shù)據(jù)包,其中,第三資源文件為目標(biāo)應(yīng)用在運(yùn)行時(shí)需要用到的資源文件。

例如,對(duì)于安卓應(yīng)用而言,在androidlibrary中抽取android項(xiàng)目的通用功能,獨(dú)立成為一個(gè)組件,可供其它android項(xiàng)目使用,在應(yīng)用編譯的過程中,可將上述androidlibrary導(dǎo)出為jar文件(全稱為javaarchive,即java歸檔文件),jar文件是與平臺(tái)無(wú)關(guān)的文件格式,它允許將許多文件組合成一個(gè)壓縮文件,主要是將編寫好的類,打包編譯獨(dú)立的jar包,供其它應(yīng)用程序(即上述的目標(biāo)應(yīng)用)使用。

在得到目標(biāo)應(yīng)用的安裝文件和目標(biāo)數(shù)據(jù)包之后,可通過該裝置的安裝單元安裝目標(biāo)應(yīng)用的安裝文件至移動(dòng)終端,以對(duì)目標(biāo)應(yīng)用進(jìn)行測(cè)試。

相關(guān)技術(shù)中,在開發(fā)編譯插件app的過程中效率較低,在開發(fā)階段,例如在界面開發(fā)、設(shè)計(jì)還原等需要頻繁查看界面效果的場(chǎng)景,往往會(huì)面臨只改1個(gè)像素,卻需要編譯整個(gè)項(xiàng)目(宿主工程),驗(yàn)證影響了項(xiàng)目進(jìn)度,降低了開發(fā)效率,在修改其余參數(shù)時(shí)也面臨著同樣的窘境,由于不能修改單個(gè)插件工程,僅編譯單個(gè)插件并快速在手機(jī)驗(yàn)證插件上功能,嚴(yán)重影響開發(fā)效率和開發(fā)人員的積極性。

而使用本申請(qǐng)?zhí)峁┑募夹g(shù)方案,在編譯驗(yàn)證的過程中,僅僅只需要點(diǎn)擊編譯工具上的編譯按鈕,即可通過調(diào)用腳本的形式自動(dòng)運(yùn)行相關(guān)的指令,調(diào)用編譯工具進(jìn)行編譯,并自動(dòng)將安裝包安裝至移動(dòng)設(shè)備上,方便開發(fā)人員及時(shí)查看修改后的效果。尤其是在頻繁修改,需要進(jìn)行驗(yàn)證的情況下,本申請(qǐng)可以極大的提高整個(gè)項(xiàng)目的進(jìn)度。

此處需要說明的是,上述模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例1所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運(yùn)行在如圖1所示的硬件環(huán)境中,可以通過軟件實(shí)現(xiàn),也可以通過硬件實(shí)現(xiàn),其中,硬件環(huán)境包括網(wǎng)絡(luò)環(huán)境。

實(shí)施例3

根據(jù)本發(fā)明實(shí)施例,還提供了一種用于實(shí)施上述安裝文件的獲取方法的服務(wù)器或終端。

圖10是根據(jù)本發(fā)明實(shí)施例的一種終端的結(jié)構(gòu)框圖,如圖10所示,該終端可以包括:一個(gè)或多個(gè)(圖中僅示出一個(gè))處理器1001、存儲(chǔ)器1003、以及傳輸裝置1005(如上述實(shí)施例中的發(fā)送裝置),如圖10所示,該終端還可以包括輸入輸出設(shè)備1007。

其中,存儲(chǔ)器1003可用于存儲(chǔ)軟件程序以及模塊,如本發(fā)明實(shí)施例中的安裝文件的獲取方法和裝置對(duì)應(yīng)的程序指令/模塊,處理器1001通過運(yùn)行存儲(chǔ)在存儲(chǔ)器1003內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的安裝文件的獲取方法。存儲(chǔ)器1003可包括高速隨機(jī)存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,如一個(gè)或者多個(gè)磁性存儲(chǔ)裝置、閃存、或者其他非易失性固態(tài)存儲(chǔ)器。在一些實(shí)例中,存儲(chǔ)器1003可進(jìn)一步包括相對(duì)于處理器1001遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過網(wǎng)絡(luò)連接至終端。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。

上述的傳輸裝置1005用于經(jīng)由一個(gè)網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù),還可以用于處理器與存儲(chǔ)器之間的數(shù)據(jù)傳輸。上述的網(wǎng)絡(luò)具體實(shí)例可包括有線網(wǎng)絡(luò)及無(wú)線網(wǎng)絡(luò)。在一個(gè)實(shí)例中,傳輸裝置1005包括一個(gè)網(wǎng)絡(luò)適配器(networkinterfacecontroller,nic),其可通過網(wǎng)線與其他網(wǎng)絡(luò)設(shè)備與路由器相連從而可與互聯(lián)網(wǎng)或局域網(wǎng)進(jìn)行通訊。在一個(gè)實(shí)例中,傳輸裝置1005為射頻(radiofrequency,rf)模塊,其用于通過無(wú)線方式與互聯(lián)網(wǎng)進(jìn)行通訊。

其中,具體地,存儲(chǔ)器1003用于存儲(chǔ)應(yīng)用程序。

處理器1001可以通過傳輸裝置1005調(diào)用存儲(chǔ)器1003存儲(chǔ)的應(yīng)用程序,以執(zhí)行下述步驟:接收到編譯指令,其中,編譯指令用于指示對(duì)第一資源文件和第二資源文件進(jìn)行編譯,得到待安裝的目標(biāo)應(yīng)用的安裝文件;在編譯指令的觸發(fā)下執(zhí)行對(duì)第一資源文件的編譯,得到目標(biāo)應(yīng)用的插件;在完成對(duì)第一資源文件的編譯之后,繼續(xù)執(zhí)行對(duì)第二資源文件和插件的編譯,得到目標(biāo)應(yīng)用的安裝文件。

處理器1001還用于執(zhí)行下述步驟:創(chuàng)建包括第一代碼集合的第一腳本,其中,所述第一代碼集合用于對(duì)所述第一資源文件進(jìn)行編譯;創(chuàng)建包括第二代碼集合的第二腳本,其中,所述第二代碼集合用于對(duì)所述第二資源文件和所述插件進(jìn)行編譯。

采用本發(fā)明實(shí)施例,在接收到編譯指令時(shí),通過在計(jì)算機(jī)上啟動(dòng)的進(jìn)程對(duì)第一資源文件進(jìn)行編譯,得到目標(biāo)應(yīng)用的插件,并通過該進(jìn)程對(duì)第二資源文件和得到的插件進(jìn)行編譯,得到目標(biāo)應(yīng)用的安裝文件,而不用在編譯的過程中逐個(gè)輸入命令和相關(guān)參數(shù),可以解決了相關(guān)技術(shù)中在開發(fā)應(yīng)用安裝包時(shí)開發(fā)編譯的效率較低的技術(shù)問題,進(jìn)而達(dá)到提高編譯效率的技術(shù)效果。

可選地,本實(shí)施例中的具體示例可以參考上述實(shí)施例1和實(shí)施例2中所描述的示例,本實(shí)施例在此不再贅述。

本領(lǐng)域普通技術(shù)人員可以理解,圖10所示的結(jié)構(gòu)僅為示意,終端可以是智能手機(jī)(如android手機(jī)、ios手機(jī)等)、平板電腦、掌上電腦以及移動(dòng)互聯(lián)網(wǎng)設(shè)備(mobileinternetdevices,mid)、pad等終端設(shè)備。圖10其并不對(duì)上述電子裝置的結(jié)構(gòu)造成限定。例如,終端還可包括比圖10中所示更多或者更少的組件(如網(wǎng)絡(luò)接口、顯示裝置等),或者具有與圖10所示不同的配置。

本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過程序來指令終端設(shè)備相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:閃存盤、只讀存儲(chǔ)器(read-onlymemory,rom)、隨機(jī)存取器(randomaccessmemory,ram)、磁盤或光盤等。

實(shí)施例4

本發(fā)明的實(shí)施例還提供了一種存儲(chǔ)介質(zhì)??蛇x地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以用于執(zhí)行安裝文件的獲取方法的程序代碼。

可選地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以位于上述實(shí)施例所示的網(wǎng)絡(luò)中的多個(gè)網(wǎng)絡(luò)設(shè)備中的至少一個(gè)網(wǎng)絡(luò)設(shè)備上。

可選地,在本實(shí)施例中,存儲(chǔ)介質(zhì)被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:

s11,接收到編譯指令,編譯指令用于指示對(duì)第一資源文件和第二資源文件進(jìn)行編譯,得到待安裝的目標(biāo)應(yīng)用的安裝文件;

s12,在編譯指令的觸發(fā)下執(zhí)行對(duì)第一資源文件的編譯,得到目標(biāo)應(yīng)用的插件;

s13,在完成對(duì)第一資源文件的編譯之后,繼續(xù)執(zhí)行對(duì)第二資源文件和插件的編譯,得到目標(biāo)應(yīng)用的安裝文件。

可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:

s21,創(chuàng)建包括第一代碼集合的第一腳本,其中,第一代碼集合用于對(duì)第一資源文件進(jìn)行編譯;

s22,創(chuàng)建包括第二代碼集合的第二腳本,其中,第二代碼集合用于對(duì)第二資源文件和插件進(jìn)行編譯。

可選地,本實(shí)施例中的具體示例可以參考上述實(shí)施例1和實(shí)施例2中所描述的示例,本實(shí)施例在此不再贅述。

可選地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以包括但不限于:u盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。

上述實(shí)施例中的集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在上述計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)或多臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。

在本發(fā)明的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。

在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的客戶端,可通過其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。

另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。

以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
久久国产精品男人的天堂亚洲 | 日本欧美国产在线视频| 亚洲五月色婷婷综合| 自线自在国产av| 成人午夜精彩视频在线观看| 大香蕉久久网| 亚洲怡红院男人天堂| 免费观看性生交大片5| 欧美xxxx性猛交bbbb| 十八禁高潮呻吟视频| 高清视频免费观看一区二区| 欧美日韩在线观看h| 日韩强制内射视频| 少妇 在线观看| 97在线人人人人妻| 国产av码专区亚洲av| 26uuu在线亚洲综合色| 18禁在线播放成人免费| 最后的刺客免费高清国语| 啦啦啦中文免费视频观看日本| 国产毛片在线视频| 男女无遮挡免费网站观看| 人人妻人人爽人人添夜夜欢视频| 午夜福利在线观看免费完整高清在| 汤姆久久久久久久影院中文字幕| 美女国产视频在线观看| 黑人高潮一二区| 欧美另类一区| 丰满迷人的少妇在线观看| 午夜免费鲁丝| 插阴视频在线观看视频| 丝袜脚勾引网站| 妹子高潮喷水视频| 亚洲精品456在线播放app| 午夜福利影视在线免费观看| 午夜久久久在线观看| 精品国产露脸久久av麻豆| 国产熟女欧美一区二区| 91国产中文字幕| 97超视频在线观看视频| 日韩中文字幕视频在线看片| h视频一区二区三区| 熟女av电影| av有码第一页| 成人毛片a级毛片在线播放| 亚洲av中文av极速乱| 亚洲熟女精品中文字幕| 我的老师免费观看完整版| 你懂的网址亚洲精品在线观看| 三级国产精品欧美在线观看| 中文天堂在线官网| 精品国产乱码久久久久久小说| 黑人高潮一二区| 国产av国产精品国产| 最近2019中文字幕mv第一页| 欧美丝袜亚洲另类| 日日啪夜夜爽| 亚洲色图 男人天堂 中文字幕 | 日本欧美国产在线视频| 欧美丝袜亚洲另类| 久久精品国产a三级三级三级| 久久久国产欧美日韩av| 在线观看www视频免费| 寂寞人妻少妇视频99o| 在线精品无人区一区二区三| 麻豆成人av视频| 插逼视频在线观看| av网站免费在线观看视频| 精品人妻熟女毛片av久久网站| 欧美日韩一区二区视频在线观看视频在线| 制服诱惑二区| 精品久久蜜臀av无| 精品少妇久久久久久888优播| 一级毛片我不卡| 欧美日韩亚洲高清精品| 精品一品国产午夜福利视频| 国产av精品麻豆| av播播在线观看一区| 我的女老师完整版在线观看| 国产视频首页在线观看| 男男h啪啪无遮挡| 少妇熟女欧美另类| 午夜免费观看性视频| 制服人妻中文乱码| 国产成人精品婷婷| 亚洲怡红院男人天堂| 自拍欧美九色日韩亚洲蝌蚪91| 成人黄色视频免费在线看| 2018国产大陆天天弄谢| 最黄视频免费看| 亚洲经典国产精华液单| 久久99一区二区三区| 国产一区二区在线观看日韩| 国产国拍精品亚洲av在线观看| 男女边吃奶边做爰视频| 王馨瑶露胸无遮挡在线观看| 麻豆乱淫一区二区| 久久久a久久爽久久v久久| 精品人妻熟女毛片av久久网站| 在线看a的网站| 九九在线视频观看精品| 天天操日日干夜夜撸| 免费少妇av软件| 丝袜美足系列| 在现免费观看毛片| 伊人久久国产一区二区| 国产探花极品一区二区| 伊人久久国产一区二区| 国产亚洲精品久久久com| 99九九在线精品视频| 日本爱情动作片www.在线观看| 成人毛片a级毛片在线播放| a级毛片在线看网站| 各种免费的搞黄视频| 国产成人免费无遮挡视频| 午夜激情福利司机影院| 日本黄色片子视频| 久久久a久久爽久久v久久| 蜜桃在线观看..| 你懂的网址亚洲精品在线观看| 日本色播在线视频| 亚洲精品国产色婷婷电影| 美女cb高潮喷水在线观看| 欧美 日韩 精品 国产| 在线亚洲精品国产二区图片欧美 | 日本欧美国产在线视频| 日本爱情动作片www.在线观看| av.在线天堂| 免费高清在线观看日韩| 伊人亚洲综合成人网| 亚洲一区二区三区欧美精品| 亚洲国产精品999| 国产在线免费精品| 免费观看在线日韩| 最新中文字幕久久久久| 国产精品女同一区二区软件| 欧美精品亚洲一区二区| 欧美一级a爱片免费观看看| 久久久久久久久久人人人人人人| 少妇被粗大猛烈的视频| 国产av国产精品国产| 国产精品久久久久久久久免| 高清视频免费观看一区二区| 亚洲av男天堂| 一边亲一边摸免费视频| 嫩草影院入口| 欧美成人精品欧美一级黄| 80岁老熟妇乱子伦牲交| 人妻夜夜爽99麻豆av| 最近最新中文字幕免费大全7| 国产亚洲欧美精品永久| 日本欧美国产在线视频| 精品一区二区三卡| 交换朋友夫妻互换小说| 国产精品免费大片| 少妇熟女欧美另类| 亚洲国产精品999| 亚洲av中文av极速乱| 国产极品粉嫩免费观看在线 | av卡一久久| 国产深夜福利视频在线观看| 伊人久久精品亚洲午夜| 久久99蜜桃精品久久| 国产精品一区二区在线不卡| 亚洲欧美一区二区三区国产| 日韩电影二区| 高清午夜精品一区二区三区| 国产一区二区在线观看日韩| 狂野欧美激情性xxxx在线观看| 国产 精品1| 少妇人妻 视频| 人人妻人人澡人人看| 国产在线视频一区二区| 男的添女的下面高潮视频| 亚洲av福利一区| 最近手机中文字幕大全| 九九爱精品视频在线观看| 精品少妇黑人巨大在线播放| 人妻夜夜爽99麻豆av| 又粗又硬又长又爽又黄的视频| 男女啪啪激烈高潮av片| 日韩av在线免费看完整版不卡| 久久久久精品久久久久真实原创| 中国国产av一级| 三级国产精品片| 久久婷婷青草| 亚洲中文av在线| 中文欧美无线码| 久久人人爽人人爽人人片va| 99久国产av精品国产电影| 在线观看人妻少妇| 久久人妻熟女aⅴ| 自拍欧美九色日韩亚洲蝌蚪91| av不卡在线播放| 国产一区有黄有色的免费视频| 久久久久久久久久人人人人人人| 国产成人91sexporn| 精品少妇内射三级| 国产乱人偷精品视频| 夫妻性生交免费视频一级片| 国产一区二区在线观看av| 亚洲高清免费不卡视频| 亚洲不卡免费看| 看十八女毛片水多多多| 欧美日韩精品成人综合77777| 午夜免费鲁丝| 三上悠亚av全集在线观看| 精品酒店卫生间| 搡女人真爽免费视频火全软件| 黄色毛片三级朝国网站| 精品99又大又爽又粗少妇毛片| 久久女婷五月综合色啪小说| 最新中文字幕久久久久| 亚洲人与动物交配视频| 欧美最新免费一区二区三区| 91久久精品国产一区二区三区| 伊人久久国产一区二区| 大香蕉久久成人网| 中文乱码字字幕精品一区二区三区| 99re6热这里在线精品视频| 国产精品人妻久久久影院| 美女视频免费永久观看网站| 美女大奶头黄色视频| 最近中文字幕高清免费大全6| 久久精品国产亚洲av天美| av网站免费在线观看视频| 久久韩国三级中文字幕| 热99久久久久精品小说推荐| 黑人高潮一二区| 欧美亚洲日本最大视频资源| 亚洲精品视频女| 久久国产亚洲av麻豆专区| 免费人成在线观看视频色| 26uuu在线亚洲综合色| 日韩 亚洲 欧美在线| 国产精品一区二区在线观看99| 成人影院久久| 夜夜爽夜夜爽视频| 极品人妻少妇av视频| 国产日韩欧美视频二区| 免费观看av网站的网址| 久久韩国三级中文字幕| 99re6热这里在线精品视频| 成人毛片a级毛片在线播放| 性色av一级| 中文欧美无线码| 赤兔流量卡办理| kizo精华| 国产精品.久久久| 熟女av电影| 国产欧美亚洲国产| 熟女电影av网| 久久久亚洲精品成人影院| 国产精品一区二区在线观看99| 免费看不卡的av| 久久精品熟女亚洲av麻豆精品| 少妇被粗大的猛进出69影院 | 一区二区三区四区激情视频| av国产久精品久网站免费入址| 国产精品熟女久久久久浪| 97在线视频观看| 免费高清在线观看日韩| 精品一区在线观看国产| 国产成人免费观看mmmm| 日日摸夜夜添夜夜爱| 熟女人妻精品中文字幕| 99热这里只有是精品在线观看| 高清毛片免费看| 如何舔出高潮| 性色av一级| 国产深夜福利视频在线观看| 亚洲av不卡在线观看| 赤兔流量卡办理| 高清午夜精品一区二区三区| 欧美日韩视频精品一区| 十分钟在线观看高清视频www| 丰满迷人的少妇在线观看| 国模一区二区三区四区视频| 999精品在线视频| 美女中出高潮动态图| .国产精品久久| 精品熟女少妇av免费看| 亚洲精品日韩av片在线观看| 国产精品99久久99久久久不卡 | 国产精品久久久久久av不卡| 欧美激情 高清一区二区三区| 成人国语在线视频| 中文字幕制服av| 男女啪啪激烈高潮av片| 一本一本综合久久| 成人亚洲欧美一区二区av| 亚洲av电影在线观看一区二区三区| 丁香六月天网| 欧美bdsm另类| 成人二区视频| 超色免费av| 最近手机中文字幕大全| 亚洲经典国产精华液单| 亚洲精品久久午夜乱码| a级片在线免费高清观看视频| 免费不卡的大黄色大毛片视频在线观看| 国产视频内射| 国产精品 国内视频| 国产成人a∨麻豆精品| 亚洲三级黄色毛片| 99久久中文字幕三级久久日本| 国产黄色视频一区二区在线观看| 国产成人freesex在线| 2018国产大陆天天弄谢| 亚洲国产毛片av蜜桃av| 国产伦精品一区二区三区视频9| 人妻系列 视频| 在线看a的网站| 男男h啪啪无遮挡| 亚洲久久久国产精品| 少妇的逼好多水| 亚洲av在线观看美女高潮| 成人手机av| a 毛片基地| 美女脱内裤让男人舔精品视频| 天堂8中文在线网| 精品一品国产午夜福利视频| 日韩中文字幕视频在线看片| a 毛片基地| 熟女人妻精品中文字幕| 久久热精品热| 91aial.com中文字幕在线观看| 美女主播在线视频| 777米奇影视久久| 欧美日韩精品成人综合77777| 国产免费又黄又爽又色| 国产爽快片一区二区三区| 久久99热6这里只有精品| 99久国产av精品国产电影| av在线app专区| 人妻 亚洲 视频| 满18在线观看网站| 蜜臀久久99精品久久宅男| 精品午夜福利在线看| av女优亚洲男人天堂| 一个人看视频在线观看www免费| 日日撸夜夜添| 一本久久精品| 91成人精品电影| 日本-黄色视频高清免费观看| 岛国毛片在线播放| 丁香六月天网| 777米奇影视久久| 在现免费观看毛片| 亚洲第一av免费看| 亚洲精品视频女| 久久国产亚洲av麻豆专区| 国产乱人偷精品视频| 男女免费视频国产| 欧美性感艳星| 97在线人人人人妻| 中文天堂在线官网| 人人妻人人添人人爽欧美一区卜| av黄色大香蕉| 日韩av在线免费看完整版不卡| 免费观看性生交大片5| 涩涩av久久男人的天堂| 欧美日韩成人在线一区二区| 91久久精品国产一区二区成人| 国产日韩欧美亚洲二区| 日韩av不卡免费在线播放| 国产高清有码在线观看视频| 国产日韩欧美在线精品| 日本色播在线视频| 久久久久久久国产电影| 菩萨蛮人人尽说江南好唐韦庄| 如何舔出高潮| 国产伦精品一区二区三区视频9| 丝瓜视频免费看黄片| 少妇丰满av| 精品99又大又爽又粗少妇毛片| av免费观看日本| 婷婷成人精品国产| 日韩中字成人| 欧美成人午夜免费资源| 少妇人妻久久综合中文| 在线观看人妻少妇| 五月玫瑰六月丁香| 日韩电影二区| a级毛片免费高清观看在线播放| 一区二区日韩欧美中文字幕 | 最新中文字幕久久久久| 黑人巨大精品欧美一区二区蜜桃 | 亚洲成人手机| 大陆偷拍与自拍| 91精品伊人久久大香线蕉| 大香蕉久久网| 久久午夜福利片| 黄色配什么色好看| av在线播放精品| 性高湖久久久久久久久免费观看| 美女福利国产在线| 老司机影院毛片| videossex国产| 你懂的网址亚洲精品在线观看| 亚洲四区av| 欧美xxⅹ黑人| 熟女人妻精品中文字幕| 在线观看免费日韩欧美大片 | 97超视频在线观看视频| 亚洲丝袜综合中文字幕| 亚洲欧洲精品一区二区精品久久久 | 人妻系列 视频| 大香蕉久久成人网| 水蜜桃什么品种好| 超色免费av| 嘟嘟电影网在线观看| 哪个播放器可以免费观看大片| 嘟嘟电影网在线观看| 日韩精品有码人妻一区| 国产高清三级在线| 精品久久久久久久久av| 在线播放无遮挡| 久久久久久久精品精品| 伦理电影大哥的女人| 成人18禁高潮啪啪吃奶动态图 | 亚洲精品国产色婷婷电影| 亚洲国产精品999| 欧美日韩视频高清一区二区三区二| 成年人免费黄色播放视频| 一二三四中文在线观看免费高清| 成人亚洲欧美一区二区av| 亚洲四区av| 日韩人妻高清精品专区| 性色av一级| 欧美bdsm另类| 国产一区有黄有色的免费视频| av又黄又爽大尺度在线免费看| 成人综合一区亚洲| 91久久精品国产一区二区三区| 在线播放无遮挡| 国产高清有码在线观看视频| 人体艺术视频欧美日本| 在现免费观看毛片| 超色免费av| 女的被弄到高潮叫床怎么办| 日本vs欧美在线观看视频| 少妇精品久久久久久久| √禁漫天堂资源中文www| 亚洲无线观看免费| 男男h啪啪无遮挡| av.在线天堂| 亚洲精品日本国产第一区| 这个男人来自地球电影免费观看 | 女人精品久久久久毛片| 亚洲三级黄色毛片| 久久综合国产亚洲精品| 91精品三级在线观看| 黄色毛片三级朝国网站| 在线天堂最新版资源| 五月天丁香电影| 日韩人妻高清精品专区| 亚洲国产欧美日韩在线播放| 99久久中文字幕三级久久日本| 精品一品国产午夜福利视频| 黄色怎么调成土黄色| 成人免费观看视频高清| 我要看黄色一级片免费的| 亚洲欧美一区二区三区黑人 | 欧美 亚洲 国产 日韩一| 天天操日日干夜夜撸| 少妇熟女欧美另类| av福利片在线| 久久久a久久爽久久v久久| 国产亚洲午夜精品一区二区久久| 精品人妻熟女毛片av久久网站| 91精品伊人久久大香线蕉| 免费高清在线观看日韩| 久久人人爽人人爽人人片va| 国产无遮挡羞羞视频在线观看| 日韩av不卡免费在线播放| 国产在视频线精品| 欧美激情 高清一区二区三区| 国产成人免费观看mmmm| 啦啦啦啦在线视频资源| 国产免费福利视频在线观看| 美女内射精品一级片tv| 性色av一级| 少妇被粗大的猛进出69影院 | 欧美日韩一区二区视频在线观看视频在线| 免费观看无遮挡的男女| 99久久精品一区二区三区| 七月丁香在线播放| 久久久精品区二区三区| 日产精品乱码卡一卡2卡三| 51国产日韩欧美| 全区人妻精品视频| 91精品国产国语对白视频| 久久久久国产网址| 青青草视频在线视频观看| 国产又色又爽无遮挡免| 亚洲人成网站在线观看播放| 亚洲综合色网址| 亚洲欧美色中文字幕在线| 国产成人免费观看mmmm| 乱码一卡2卡4卡精品| 亚洲国产精品专区欧美| 黑人巨大精品欧美一区二区蜜桃 | 啦啦啦在线观看免费高清www| 国产色爽女视频免费观看| 美女国产视频在线观看| 极品少妇高潮喷水抽搐| 国产精品秋霞免费鲁丝片| 久久久久久人妻| 国产欧美日韩综合在线一区二区| 蜜桃国产av成人99| av免费观看日本| 午夜精品国产一区二区电影| 亚洲精品亚洲一区二区| 亚洲欧美日韩另类电影网站| 国产极品天堂在线| 最近2019中文字幕mv第一页| 只有这里有精品99| 成人二区视频| 久久精品国产自在天天线| 如何舔出高潮| 免费播放大片免费观看视频在线观看| 亚洲图色成人| 色婷婷av一区二区三区视频| av在线app专区| 久久久久视频综合| 精品久久久噜噜| 黑人高潮一二区| 少妇精品久久久久久久| 亚洲精品乱码久久久久久按摩| 精品国产一区二区久久| 色婷婷久久久亚洲欧美| 欧美精品人与动牲交sv欧美| 亚洲av免费高清在线观看| 国产av码专区亚洲av| 日韩免费高清中文字幕av| 大话2 男鬼变身卡| 久久精品夜色国产| 欧美人与性动交α欧美精品济南到 | 国模一区二区三区四区视频| 亚洲成色77777| av在线播放精品| 久久精品国产亚洲av涩爱| 91在线精品国自产拍蜜月| 亚洲在久久综合| 天堂8中文在线网| 欧美日本中文国产一区发布| 一二三四中文在线观看免费高清| 人体艺术视频欧美日本| 国产精品熟女久久久久浪| 国产精品 国内视频| 在线免费观看不下载黄p国产| 在线观看免费日韩欧美大片 | av福利片在线| 99久久人妻综合| 日日撸夜夜添| 大又大粗又爽又黄少妇毛片口| 多毛熟女@视频| 亚洲国产精品999| xxxhd国产人妻xxx| 亚洲成色77777| 欧美 亚洲 国产 日韩一| av网站免费在线观看视频| 免费黄色在线免费观看| 成人黄色视频免费在线看| 国产深夜福利视频在线观看| 最近最新中文字幕免费大全7| 美女中出高潮动态图| 夫妻午夜视频| 欧美+日韩+精品| 国产av国产精品国产| 久久精品人人爽人人爽视色| 日韩欧美精品免费久久| 国产成人精品久久久久久| 老司机影院成人| 亚洲激情五月婷婷啪啪| 亚洲国产欧美日韩在线播放| 精品一区二区免费观看| 国产午夜精品一二区理论片| 国模一区二区三区四区视频| 国产精品无大码| 亚洲欧美色中文字幕在线| 日日爽夜夜爽网站| 美女大奶头黄色视频| 熟妇人妻不卡中文字幕| 青春草亚洲视频在线观看| 你懂的网址亚洲精品在线观看| 飞空精品影院首页| 九色成人免费人妻av| videosex国产| 日本黄色片子视频| 高清av免费在线| 久久久久久久久久人人人人人人| 亚洲成人一二三区av| 精品久久国产蜜桃| 人体艺术视频欧美日本| 丝袜在线中文字幕| 高清av免费在线| 亚洲成人av在线免费| 在线观看www视频免费| xxx大片免费视频| 成人亚洲精品一区在线观看| 简卡轻食公司| 菩萨蛮人人尽说江南好唐韦庄| 99re6热这里在线精品视频| 精品人妻熟女av久视频| www.色视频.com| 国产在线视频一区二区| 97精品久久久久久久久久精品| 亚洲av.av天堂| 一个人看视频在线观看www免费| 九色亚洲精品在线播放| 各种免费的搞黄视频| 岛国毛片在线播放| 三级国产精品片|