一種編譯安卓包開發(fā)文件的方法、服務(wù)器和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及應(yīng)用程序開發(fā)領(lǐng)域,特別涉及一種編譯安卓包開發(fā)文件的方法、服務(wù)器和系統(tǒng)。
【背景技術(shù)】
[0002]安卓系統(tǒng)作為近年來飛速發(fā)展的開源系統(tǒng),已被廣泛應(yīng)用到智能手機(jī)及其他科技產(chǎn)品中,在該系統(tǒng)基礎(chǔ)上進(jìn)行開發(fā)的第三方應(yīng)用程序也呈現(xiàn)出爆炸性的增長趨勢。在對應(yīng)用程序開發(fā)的過程中,通常需要多個開發(fā)人員在多臺開發(fā)機(jī)器上設(shè)計安卓包開發(fā)文件并進(jìn)行編譯。然而,開發(fā)人員所使用的開發(fā)機(jī)器的性能是有限的,對安卓包開發(fā)文件進(jìn)行編譯時不僅要花費大量時間,同時不易開展其他安卓包開發(fā)文件的設(shè)計工作。而對大量開發(fā)人員所使用的開發(fā)機(jī)器上的編譯環(huán)境進(jìn)行安全控制也加大了管理者的操作難度。
[0003]例如,某軟件開發(fā)廠商正在同時進(jìn)行兩個安卓應(yīng)用程序的開發(fā)項目,其中兩個開發(fā)項目所使用的編譯環(huán)境不同。該軟件開發(fā)廠商的一部分開發(fā)人員需要同時負(fù)責(zé)兩個開發(fā)項目的部分工作,那么需要在這些開發(fā)人員的開發(fā)機(jī)器上分別安裝兩個開發(fā)項目所使用的編譯環(huán)境,在實際開發(fā)過程中進(jìn)行切換,這就需要開發(fā)人員在進(jìn)行編譯工作時反復(fù)確定使用的編譯環(huán)境是否適當(dāng),加大了開發(fā)人員的任務(wù)量,同時在編譯其中一個應(yīng)用程序的安卓包開發(fā)文件時,由于開發(fā)機(jī)器性能的限制不能或不易進(jìn)行另一個應(yīng)用程序的設(shè)計和編譯工作,大大地浪費了時間。
【發(fā)明內(nèi)容】
[0004]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的編譯安卓包開發(fā)文件的方法、服務(wù)器和系統(tǒng)。
[0005]依據(jù)本發(fā)明的一個方面,提供了一種編譯安卓包開發(fā)文件的方法,包括:
[0006]接收各客戶端上傳的待編譯的安卓包開發(fā)文件;在云端的服務(wù)器上對接收到的待編譯的安卓包開發(fā)文件進(jìn)行編譯處理,得到編譯后的安卓包開發(fā)文件;將編譯后的安卓包開發(fā)文件返回給相應(yīng)的客戶端。
[0007]可選地,所述云端的服務(wù)器包括:一個或多個配置有指定編譯環(huán)境的服務(wù)器。
[0008]可選地,該方法還包括:將接收到的各客戶端上傳的待編譯的安卓包開發(fā)文件放入任務(wù)隊列中;所述在云端的服務(wù)器上對接收到的待編譯的安卓包開發(fā)文件進(jìn)行編譯處理包括:從任務(wù)隊列中調(diào)取待編譯的安卓包開發(fā)文件,并分發(fā)到相應(yīng)的服務(wù)器上進(jìn)行編譯處理。
[0009]可選地,所述從任務(wù)隊列中調(diào)取待編譯的安卓包開發(fā)文件,并分發(fā)到相應(yīng)的服務(wù)器上進(jìn)行編譯處理包括:根據(jù)各服務(wù)器的空閑指標(biāo),將調(diào)取的待編譯的安卓包開發(fā)文件發(fā)送給相應(yīng)的服務(wù)器;或者,根據(jù)調(diào)取的待編譯的安卓包開發(fā)文件的類型,發(fā)送到相應(yīng)的服務(wù)器。
[0010]可選地,該方法在將編譯后的安卓包開發(fā)文件返回給相應(yīng)的客戶端之前還包括:在一個編譯后的安卓包開發(fā)文件中分別添加不同的渠道標(biāo)識信號,得到不同的渠道包;所述將編譯后的安卓包開發(fā)文件返回給相應(yīng)的客戶端包括:將所述不同的渠道包返回給相應(yīng)的客戶端。
[0011]依據(jù)本發(fā)明的另一方面,提供了一種編譯安卓包開發(fā)文件的服務(wù)器,包括:收發(fā)單元,適于接收待編譯的安卓包開發(fā)文件;編譯單元,適于對收到單元接收到的待編譯的安卓包開發(fā)文件進(jìn)行編譯處理,得到編譯后的安卓包開發(fā)文件;所述收發(fā)單元,還適于將編譯后的安卓包開發(fā)文件返回。
[0012]可選地,該服務(wù)器上配置有指定編譯環(huán)境。
[0013]可選地,該服務(wù)器還包括:渠道包生成單元,適于在一個編譯后的安卓包開發(fā)文件中分別添加不同的渠道標(biāo)識信號,得到不同的渠道包;所述收發(fā)單元,適于將所述不同的渠道包返回。
[0014]依據(jù)本發(fā)明的又一方面,提供了一種編譯安卓包開發(fā)文件的系統(tǒng),包括:調(diào)度裝置和如上述任一項所述的編譯安卓包開發(fā)文件的服務(wù)器;所述調(diào)度裝置包括:接收單元,適于接收到的各客戶端上傳的待編譯的安卓包開發(fā)文件,并放入任務(wù)隊列中;存儲單元,適于保存所述任務(wù)隊列;調(diào)度單元,適于從任務(wù)隊列中調(diào)取待編譯的安卓包開發(fā)文件,并分發(fā)到相應(yīng)的服務(wù)器上進(jìn)行編譯處理;以及適于將服務(wù)器返回的編譯后的內(nèi)容返回給相應(yīng)的客戶端。
[0015]可選地,所述調(diào)度單元,適于根據(jù)各服務(wù)器的空閑指標(biāo),將調(diào)取的待編譯的安卓包開發(fā)文件發(fā)送給相應(yīng)的服務(wù)器;或者,適于根據(jù)調(diào)取的待編譯的安卓包開發(fā)文件的類型,發(fā)送到相應(yīng)的服務(wù)器。
[0016]由上述可知,本發(fā)明的技術(shù)方案,通過云端的服務(wù)器上接收各客戶端上傳的待編譯的安卓包開發(fā)文件,對其進(jìn)行編譯處理,得到編譯后的安卓包開發(fā)文件,再將編譯后的安卓包開發(fā)文件返回給相應(yīng)的客戶端,實現(xiàn)了將編譯工作與客戶端的分離,采用工作性能更高的服務(wù)器進(jìn)行編譯工作,由于服務(wù)器的性能通常遠(yuǎn)好于客戶端,這樣大大減少了編譯安卓包文件所需的時間。開發(fā)人員如需再次對編譯好的安卓包開發(fā)文件進(jìn)行處理,可以直接從服務(wù)器進(jìn)行獲取,減少了本地客戶端需要保存安卓包而需要的存儲資源的利用。
[0017]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【附圖說明】
[0018]通過閱讀下文優(yōu)選實施方式的詳細(xì)描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0019]圖1示出了本發(fā)明的一個實施例提供的一種編譯安卓包開發(fā)文件的方法的流程圖;
[0020]圖2示出了本發(fā)明一個實施例提供的一種編譯安卓包開發(fā)文件的服務(wù)器的結(jié)構(gòu)圖;
[0021]圖3示出了本發(fā)明一個實施例提供的一種編譯安卓包開發(fā)文件的系統(tǒng)的結(jié)構(gòu)圖。
【具體實施方式】
[0022]下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0023]圖1示出了本發(fā)明的一個實施例提供的一種編譯安卓包開發(fā)文件的方法的流程圖,如圖1所示,該方法包括:
[0024]步驟S110,接收各客戶端上傳的待編譯的安卓包開發(fā)文件。
[0025]步驟S120,在云端的服務(wù)器上對接收到的待編譯的安卓包開發(fā)文件進(jìn)行編譯處理,得到編譯后的安卓包開發(fā)文件。
[0026]步驟S130,將編譯后的安卓包開發(fā)文件返回給相應(yīng)的客戶端。
[0027]可見,圖1所示的方法實現(xiàn)了將編譯工作與客戶端的分離,采用工作性能更高的服務(wù)器進(jìn)行編譯工作,由于服務(wù)器的性能通常遠(yuǎn)優(yōu)于客戶端,這樣大大減少了編譯安卓包文件所需的時間。開發(fā)人員如需再次對編譯好的安卓包開發(fā)文件進(jìn)行處理,可以直接從服務(wù)器進(jìn)行獲取,減少了本地客戶端需要保存安卓包而需要的存儲資源的利用。
[0028]在本發(fā)明的一個實施例中,圖1所示的方法中所述云端的服務(wù)器包括:一個或多個配置有指定編譯環(huán)境的服務(wù)器。
[0029]在此實施例中,只需對服務(wù)器的編譯環(huán)境進(jìn)行統(tǒng)一配置,便不再需要各個開發(fā)人員在自己進(jìn)行編譯工作時反復(fù)確認(rèn)編譯環(huán)境是否適當(dāng),減少了開發(fā)人員的任務(wù)量。
[0030]大型的應(yīng)用程序開發(fā)廠商通常會同時接到多個安卓應(yīng)用程序的開發(fā)任務(wù),而客戶所授權(quán)使用的編譯環(huán)境并不總是相同的。如果在開發(fā)某一應(yīng)用程序時不慎使用了其他客戶授權(quán)使用而該應(yīng)用程序開發(fā)任務(wù)的客戶并未授權(quán)使用的編譯環(huán)境,則會引起侵權(quán)糾紛。為防止此類情況的發(fā)生,通常的做法是由開發(fā)人員自行注意或設(shè)置專門的監(jiān)管人員進(jìn)行監(jiān)督,這樣既浪費了人力物力,也并不能完全保證編譯環(huán)境的純凈。本發(fā)明實施例將編譯環(huán)境設(shè)置于服務(wù)器中,通過一個或多個配置由指定編譯環(huán)境的服務(wù)器分別進(jìn)行編譯工作,很好地解決了這個問題。
[0031]在本發(fā)明的一個實施例中,圖1所示的方法還包括:將接收到的各客戶端上傳的待編譯的安卓包開發(fā)文件放入任務(wù)隊列中。
[0032]所述在云端的服務(wù)器上對接收到的待編譯的安卓包開發(fā)文件進(jìn)行編譯處理包括:從任務(wù)隊列中調(diào)取待編譯的安卓包開發(fā)文件,并分發(fā)到相應(yīng)的服務(wù)器上進(jìn)行編譯處理。
[0033]通常開發(fā)人員需要在自己的開發(fā)機(jī)器上手動對需要編譯的安卓包開發(fā)文件執(zhí)行編譯工作,本實施例提供