安裝包生成方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種安裝包生成方法,所述方法包括:獲取配置參數(shù)和渠道標(biāo)識集合,所述渠道標(biāo)識集合包含對應(yīng)不同發(fā)布渠道的渠道標(biāo)識;逐個從所述渠道標(biāo)識集合中取出所述渠道標(biāo)識,并根據(jù)取出的所述渠道標(biāo)識、所述配置參數(shù)和待打包文件生成對應(yīng)所述渠道標(biāo)識的安裝包。本發(fā)明提供的安裝包生成方法,獲取到配置參數(shù)和渠道標(biāo)識集合后,即可自動的逐個從集合中取出渠道標(biāo)識,并根據(jù)取出的每個渠道標(biāo)識以及配置參數(shù)和待打包文件生成對應(yīng)每個渠道標(biāo)識的安裝包,大大提高了生成安裝包的效率,且由于生成安裝包的過程實現(xiàn)自動化,不容易出錯。本發(fā)明還提供了一種安裝包生成裝置。
【專利說明】安裝包生成方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機(jī)【技術(shù)領(lǐng)域】,特別是涉及一種安裝包生成方法和裝置。
【背景技術(shù)】
[0002]通常將一個應(yīng)用程序的安裝包發(fā)布到不同應(yīng)用平臺,為了區(qū)分來源,需要為每個安裝包添加用于標(biāo)識安裝包的來源的渠道標(biāo)識。使用傳統(tǒng)的打包工具(比如Eclipse,一種基于Java的可擴(kuò)展開發(fā)平臺)生成安裝包,一次只能生成一個安裝包,若要生成多個渠道的安裝包則需要手動添加渠道標(biāo)識并進(jìn)行多次打包操作,效率低,且容易出錯。
【發(fā)明內(nèi)容】
[0003]基于此,有必要針對上述手動添加渠道標(biāo)識效率低,且容易出錯的問題,提供一種安裝包生成方法和裝置。
[0004]一種安裝包生成方法,所述方法包括:
[0005]獲取配置參數(shù)和渠道標(biāo)識集合,所述渠道標(biāo)識集合包含對應(yīng)不同發(fā)布渠道的渠道標(biāo)識;
[0006]逐個從所述渠道標(biāo)識集合中取出所述渠道標(biāo)識,并根據(jù)取出的所述渠道標(biāo)識、所述配置參數(shù)和待打包文件生成對應(yīng)所述渠道標(biāo)識的安裝包。
[0007]一種安裝包生成裝置,所述裝置包括:
[0008]第一獲取模塊,用于獲取配置參數(shù)和渠道標(biāo)識集合,所述渠道標(biāo)識集合包含對應(yīng)不同發(fā)布渠道的渠道標(biāo)識;
[0009]安裝包生成模塊,用于逐個從所述渠道標(biāo)識集合中取出所述渠道標(biāo)識,并根據(jù)取出的所述渠道標(biāo)識、所述配置參數(shù)和待打包文件生成對應(yīng)所述渠道標(biāo)識的安裝包。
[0010]上述安裝包生成方法和裝置,獲取到配置參數(shù)和渠道標(biāo)識集合后,即可自動的逐個從集合中取出渠道標(biāo)識,并根據(jù)取出的每個渠道標(biāo)識以及配置參數(shù)和待打包文件生成對應(yīng)每個渠道標(biāo)識的安裝包,大大提高了生成安裝包的效率,且由于生成安裝包的過程實現(xiàn)自動化,不容易出錯。
【專利附圖】
【附圖說明】
[0011]圖1為一個實施例中安裝包生成方法的流程示意圖;
[0012]圖2為一個實施例中獲取配置參數(shù)和渠道標(biāo)識集合的步驟的流程示意圖;
[0013]圖3為一個實施例中參數(shù)輸入界面的示意圖;
[0014]圖4為一個實施例中根據(jù)取出的渠道標(biāo)識、配置參數(shù)和待打包文件生成對應(yīng)渠道標(biāo)識的安裝包的步驟的流程示意圖;
[0015]圖5為一個實施例中安裝包生成裝置的結(jié)構(gòu)框圖;
[0016]圖6為圖5中一個實施例的第一獲取模塊的結(jié)構(gòu)框圖;
[0017]圖7為圖5中一個實施例的安裝包生成模塊的結(jié)構(gòu)框圖。
【具體實施方式】
[0018]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0019]如圖1所示,在一個實施例中,提供了一種安裝包生成方法,包括:
[0020]步驟102,獲取配置參數(shù)和渠道標(biāo)識集合,渠道標(biāo)識集合包含對應(yīng)不同發(fā)布渠道的渠道標(biāo)識。
[0021]配置參數(shù)是生成安裝包所需的參數(shù),包括但不限于待打包文件對應(yīng)的項目所在目錄、生成的安裝包的存放目錄、軟件工具包所在目錄、密鑰及對應(yīng)的別名和密碼、項目名稱和版本號等。其中,打包指根據(jù)待打包文件生成安裝包的過程,待打包文件包括源代碼。配置參數(shù)可預(yù)先存儲于配置文件中,生成安裝包時通過讀取配置文件獲取配置參數(shù)。
[0022]渠道標(biāo)識集合包含多個渠道標(biāo)識,不同的渠道標(biāo)識對應(yīng)不同的發(fā)布渠道,這里的發(fā)布渠道指能夠為用戶提供軟件下載服務(wù)的網(wǎng)絡(luò)平臺,例如軟件開發(fā)公司的網(wǎng)站、社交網(wǎng)絡(luò)平臺、網(wǎng)絡(luò)搜索服務(wù)提供者的推廣網(wǎng)站等。通過渠道標(biāo)識區(qū)分發(fā)布渠道,可方便開發(fā)者和用戶獲知安裝包的來源,從而可選擇相應(yīng)的發(fā)布渠道下載安裝包,保證安全性。
[0023]渠道標(biāo)識可以包括數(shù)字、符號和字母中的至少一項,比如渠道標(biāo)識可以是anzh1: 123456-789。渠道標(biāo)識集合可以列表、字符序列等的形式存儲在配置文件中,需要時從配置文件中讀出使用。其中,當(dāng)渠道標(biāo)識以字符序列形式存儲在配置文件中時,各個渠道標(biāo)識以約定的分隔符區(qū)分。比如字符序列“anzh1: 123456-789,anzhuo: 789123-456”表示了兩個渠道標(biāo)識anzh1:123456-789和anzhuo: 789123-456,其中“,”為分隔符。
[0024]步驟104,逐個從渠道標(biāo)識集合中取出渠道標(biāo)識,并根據(jù)取出的渠道標(biāo)識、配置參數(shù)和待打包文件生成對應(yīng)渠道標(biāo)識的安裝包。
[0025]可以使用循環(huán)語句遍歷渠道標(biāo)識集合中的渠道標(biāo)識,并根據(jù)每個渠道標(biāo)識、配置參數(shù)和待打包文件生成對應(yīng)渠道標(biāo)識的安裝包。在生成一個安裝包后,再取出下一個渠道標(biāo)識從而生成下一個安裝包,可只使用一份待打包文件生成對應(yīng)多個渠道標(biāo)識的安裝包,避免生成安裝包時占用過多的資源。
[0026]根據(jù)取出的渠道標(biāo)識、配置參數(shù)和待打包文件生成對應(yīng)渠道標(biāo)識的安裝包的過程,是對待打包文件進(jìn)行處理生成安裝包的過程,包括對待打包文件中的源代碼進(jìn)行編譯生成可執(zhí)行程序、解釋性文件等,還包括生成支持軟件自動安裝的壓縮包、安裝程序等。最后生成的對應(yīng)渠道標(biāo)識的安裝包是一個壓縮包文件。生成的安裝包可通過對應(yīng)渠道標(biāo)識的發(fā)布渠道發(fā)布。
[0027]具體地,根據(jù)配置參數(shù),可從項目所在目錄獲取待打包文件,從軟件工具包所在目錄調(diào)用軟件工具包進(jìn)行打包,生成未簽名的安裝包,再根據(jù)密鑰(keystore)及其別名和密碼,對未簽名的安裝包簽名最后獲得已簽名的安裝包。其中生成的已簽名的安裝包包含項目名稱與版本號等參數(shù),且生成的已簽名的安裝包存放在安裝包的存放目錄中。此時,生成的對應(yīng)渠道標(biāo)識的安裝包是指已簽名的安裝包。
[0028]在一個實施例中,根據(jù)取出的渠道標(biāo)識、配置參數(shù)和待打包文件生成對應(yīng)渠道標(biāo)識的安裝包,包括:調(diào)用Android軟件開發(fā)工具包的構(gòu)建文件,根據(jù)取出的渠道標(biāo)識、配置參數(shù)和待打包文件生成對應(yīng)渠道標(biāo)識的安裝包。
[0029]本實施例中,Android軟件開發(fā)工具包的構(gòu)建文件是指Android SDK toolsbuild, xml,該構(gòu)建文件是Android軟件開發(fā)工具包自帶的構(gòu)建文件,當(dāng)Android軟件開發(fā)工具包升級導(dǎo)致生成安裝包的過程發(fā)生變化時,該構(gòu)建文件也會相應(yīng)地變化,因此使用Android軟件開發(fā)工具包自帶的構(gòu)建文件,可提高兼容性,不會因為開發(fā)環(huán)境變化而導(dǎo)致不能生成安裝包。
[0030]上述安裝包生成方法,獲取到配置參數(shù)和渠道標(biāo)識集合后,即可自動的逐個從集合中取出渠道標(biāo)識,并根據(jù)取出的每個渠道標(biāo)識以及配置參數(shù)和待打包文件生成對應(yīng)每個渠道標(biāo)識的安裝包,大大提高了生成安裝包的效率,且由于生成安裝包的過程實現(xiàn)自動化,不容易出錯。
[0031]如圖2所示,在一個實施例中,獲取配置參數(shù)和渠道標(biāo)識集合的步驟包括:
[0032]步驟202,顯示參數(shù)輸入界面。
[0033]參考圖3,可在參數(shù)輸入界面中設(shè)置參數(shù)設(shè)置控件,獲取生成安裝包所需的參數(shù)。其中,對應(yīng)配置參數(shù),設(shè)有配置參數(shù)設(shè)置控件,具體包括:項目存放目錄輸入控件302、生成安裝包存放目錄輸入控件304、Android軟件開發(fā)工具包存放目錄輸入控件306、Java軟件開發(fā)工具包存放目錄輸入控件308、密鑰輸入控件310、密鑰密碼輸入控件312、密鑰的別名輸入控件314,別名對應(yīng)的密碼輸入控件316、jar (Java Archive, Java歸檔文件)存放目錄輸入控件318、版本號輸入控件320、項目名稱輸入控件322以及是否去除UTF-8B0M (—種編碼方式)的選擇控件324。
[0034]如圖3所示,參數(shù)輸入界面還設(shè)有渠道標(biāo)識序列輸入控件326,用于輸入渠道標(biāo)識序列。另外,參數(shù)輸入界面上還設(shè)有日志顯示控件328,用以顯示生成安裝包過程中產(chǎn)生的日志,從而監(jiān)控生成安裝包的進(jìn)程。
[0035]步驟204,獲取參數(shù)輸入界面中輸入的配置參數(shù)和渠道標(biāo)識序列。
[0036]如圖3所示,通過參數(shù)輸入界面上設(shè)置的配置參數(shù)設(shè)置控件,可以輸入配置參數(shù),從而獲得配置參數(shù)。通過參數(shù)輸入界面的渠道標(biāo)識序列輸入控件326可獲取渠道標(biāo)識序列。獲取的配置參數(shù)和渠道標(biāo)識序列可存儲在配置文件中,需要時從配置文件中讀取。
[0037]步驟206,根據(jù)渠道標(biāo)識序列生成渠道標(biāo)識集合。
[0038]渠道標(biāo)識序列是多個渠道標(biāo)識組成的字符串,渠道標(biāo)識間通過分隔符區(qū)分。比如 “anzh1: 123456-789,anzhuo: 789123-456” 表示了兩個渠道標(biāo)識 anzh1: 123456-789 和anzhu0:789123-456,其中“,”為分隔符。以渠道標(biāo)識序列的方式輸入和存儲,可方便拷貝。
[0039]通過渠道標(biāo)識序列的分隔符,可將渠道標(biāo)識序列分解為多個渠道標(biāo)識,從而獲得渠道標(biāo)識集合。
[0040]本實施例中,通過顯示參數(shù)輸入界面,獲取配置參數(shù)和渠道標(biāo)識序列,再根據(jù)渠道標(biāo)識序列獲得渠道標(biāo)識集合,可靈活地設(shè)置生成安裝包所需的各種參數(shù),可隨時根據(jù)需要對參數(shù)進(jìn)行調(diào)整,兼容性強(qiáng)。
[0041]如圖4所示,在一個實施例中,根據(jù)取出的渠道標(biāo)識、配置參數(shù)和待打包文件生成對應(yīng)渠道標(biāo)識的安裝包的步驟包括:
[0042]步驟402,將取出的渠道標(biāo)識加入待打包文件的清單文件中。
[0043]將渠道標(biāo)識加入待打包文件的清單文件中,再進(jìn)行打包即可將渠道標(biāo)識加入到安裝包中,生成的安裝包則包含渠道標(biāo)識。其中清單文件是指AndroidManifest.xml文件,AndroidManifest.xml是每個Android程序中必須的文件。該清單文件位于整個項目的根目錄,描述了安裝包中暴露的組件(activities, services,等等),他們各自的實現(xiàn)類,各種能被處理的數(shù)據(jù)和啟動位置。
[0044]在一個實施例中,清單文件中包含渠道參數(shù),步驟402具體包括:使用渠道標(biāo)識正則替換待打包文件的清單文件中的渠道參數(shù)。
[0045]本實施例中,若要生成Android安裝包,可將渠道標(biāo)識正則替換待打包文件的清單文件中的渠道參數(shù)。清單文件中的渠道參數(shù)(meta-data數(shù)據(jù))用以區(qū)別發(fā)布渠道,使用渠道標(biāo)識正則替換該渠道參數(shù),可使生成的安裝包包含渠道標(biāo)識。其中正則替換是指使用正則表達(dá)式查找到對應(yīng)的字符串,并用另一個字符串替換查找到的字符串。
[0046]本實施例中,通過使用渠道標(biāo)識正則替換待打包文件的清單文件中的渠道參數(shù),可快速地添加渠道標(biāo)識,提高生成安裝包的效率。
[0047]步驟404,根據(jù)配置參數(shù)和加入渠道標(biāo)識的待打包文件生成對應(yīng)渠道標(biāo)識的安裝包。
[0048]根據(jù)配置參數(shù)和加入渠道標(biāo)識的待打包文件生成對應(yīng)渠道標(biāo)識的安裝包的過程,是對加入渠道標(biāo)識的待打包文件進(jìn)行處理生成安裝包的過程,包括對待打包文件中的源代碼進(jìn)行編譯生成可執(zhí)行程序、解釋性文件等,還包括生成支持軟件自動安裝的壓縮包、安裝程序等。最后生成的對應(yīng)渠道標(biāo)識的安裝包是一個壓縮包文件。生成的安裝包可通過與渠道標(biāo)識對應(yīng)的發(fā)布渠道發(fā)布。
[0049]具體地,根據(jù)配置參數(shù),可從項目所在目錄獲取加入渠道標(biāo)識的待打包文件,從軟件工具包所在目錄調(diào)用軟件工具包進(jìn)行打包,生成未簽名的安裝包,再根據(jù)密鑰(key store )及其別名和密碼,對未簽名的安裝包簽名最后獲得已簽名的安裝包。其中生成的已簽名的安裝包包含項目名稱與版本號等參數(shù),且生成的已簽名的安裝包存放在安裝包的存放目錄中。此時,生成的對應(yīng)渠道標(biāo)識的安裝包是指已簽名的安裝包。
[0050]本實施例中,通過將渠道標(biāo)識加入待打包文件的清單文件中,從而可根據(jù)配置參數(shù)和加入渠道標(biāo)識的待打包文件生成安裝包,方便快捷。且生成對應(yīng)多個渠道標(biāo)識的多個安裝包,可只基于一份待打包文件,循環(huán)將渠道標(biāo)識加入待打包文件和打包的過程,直至生成對應(yīng)所有渠道標(biāo)識的安裝包時停止,占用資源少,效率高。
[0051]如圖5所示,在一個實施例中,提供了一種安裝包生成裝置,包括:
[0052]第一獲取模塊502,用于獲取配置參數(shù)和渠道標(biāo)識集合,渠道標(biāo)識集合包含對應(yīng)不同發(fā)布渠道的渠道標(biāo)識。
[0053]安裝包生成模塊504,用于逐個從渠道標(biāo)識集合中取出渠道標(biāo)識,并根據(jù)取出的渠道標(biāo)識、配置參數(shù)和待打包文件生成對應(yīng)渠道標(biāo)識的安裝包。
[0054]如圖6所不,在一個實施例中,第一獲取模塊502包括:
[0055]界面顯示模塊502a,用于顯示參數(shù)輸入界面。
[0056]第二獲取模塊502b,用于獲取參數(shù)輸入界面中輸入的配置參數(shù)和渠道標(biāo)識序列。
[0057]渠道標(biāo)識集合生成模塊502c,用于根據(jù)渠道標(biāo)識序列生成渠道標(biāo)識集合。
[0058]在一個實施例中,安裝包生成模塊504還用于調(diào)用Android軟件開發(fā)工具包的構(gòu)建文件,根據(jù)取出的渠道標(biāo)識、配置參數(shù)和待打包文件生成對應(yīng)渠道標(biāo)識的安裝包。
[0059]如圖7所示,在一個實施例中,安裝包生成模塊504包括:
[0060]渠道標(biāo)識添加模塊504a,用于將所述取出的渠道標(biāo)識加入所述待打包文件的清單文件中。
[0061]生成模塊504b,用于根據(jù)配置參數(shù)和待打包文件生成對應(yīng)渠道標(biāo)識的安裝包。
[0062]在一個實施例中,清單文件中包含渠道參數(shù),渠道標(biāo)識添加模塊504a還用于使用渠道標(biāo)識正則替換待打包文件的清單文件中的渠道參數(shù)。
[0063]以上所述實施例僅表達(dá)了本發(fā)明的幾種實施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種安裝包生成方法,所述方法包括: 獲取配置參數(shù)和渠道標(biāo)識集合,所述渠道標(biāo)識集合包含對應(yīng)不同發(fā)布渠道的渠道標(biāo)識; 逐個從所述渠道標(biāo)識集合中取出所述渠道標(biāo)識,并根據(jù)取出的所述渠道標(biāo)識、所述配置參數(shù)和待打包文件生成對應(yīng)所述渠道標(biāo)識的安裝包。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)取出的所述渠道標(biāo)識、所述配置參數(shù)和待打包文件生成對應(yīng)所述渠道標(biāo)識的安裝包,包括: 將所述取出的渠道標(biāo)識加入所述待打包文件的清單文件中; 根據(jù)所述配置參數(shù)和加入渠道標(biāo)識的所述待打包文件生成對應(yīng)所述渠道標(biāo)識的安裝包。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述清單文件中包含渠道參數(shù);所述將所述取出的渠道標(biāo)識加入所述待打包文件的清單文件中,包括: 使用所述渠道標(biāo)識正則替換所述待打包文件的清單文件中的所述渠道參數(shù)。
4.根據(jù)權(quán)利要求1、2或3其中之一所述的方法,其特征在于,所述獲取配置參數(shù)和渠道標(biāo)識集合,包括: 顯示參數(shù)輸入界面; 獲取所述參數(shù)輸入界面中輸入的配置參數(shù)和渠道標(biāo)識序列; 根據(jù)所述渠道標(biāo)識序列生成渠道標(biāo)識集合。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)取出的所述渠道標(biāo)識、所述配置參數(shù)和待打包文件生成對應(yīng)所述渠道標(biāo)識的安裝包,包括: 調(diào)用Android軟件開發(fā)工具包的構(gòu)建文件,根據(jù)取出的所述渠道標(biāo)識、所述配置參數(shù)和待打包文件生成對應(yīng)所述渠道標(biāo)識的安裝包。
6.一種安裝包生成裝置,其特征在于,所述裝置包括: 第一獲取模塊,用于獲取配置參數(shù)和渠道標(biāo)識集合,所述渠道標(biāo)識集合包含對應(yīng)不同發(fā)布渠道的渠道標(biāo)識; 安裝包生成模塊,用于逐個從所述渠道標(biāo)識集合中取出所述渠道標(biāo)識,并根據(jù)取出的所述渠道標(biāo)識、所述配置參數(shù)和待打包文件生成對應(yīng)所述渠道標(biāo)識的安裝包。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述安裝包生成模塊包括: 渠道標(biāo)識添加模塊,用于將所述取出的渠道標(biāo)識加入所述待打包文件的清單文件中;生成模塊,用于根據(jù)所述配置參數(shù)和加入渠道標(biāo)識的所述待打包文件生成對應(yīng)所述渠道標(biāo)識的安裝包。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述清單文件中包含渠道參數(shù);所述渠道標(biāo)識添加模塊還用于使用所述渠道標(biāo)識正則替換所述待打包文件的清單文件中的所述渠道參數(shù)。
9.根據(jù)權(quán)利要求6、7或8其中之一所述的裝置,其特征在于,所述第一獲取模塊包括: 界面顯示模塊,用于顯示參數(shù)輸入界面; 第二獲取模塊,用于獲取所述參數(shù)輸入界面中輸入的配置參數(shù)和渠道標(biāo)識序列; 渠道標(biāo)識集合生成模塊,用于根據(jù)所述渠道標(biāo)識序列生成渠道標(biāo)識集合。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述安裝包生成模塊還用于調(diào)用Android軟件開發(fā)工具包的構(gòu)建文件,根據(jù)取出的所述渠道標(biāo)識、所述配置參數(shù)和待打包文件生成對應(yīng)所述渠道標(biāo)識的安裝包。
【文檔編號】G06F9/445GK104516755SQ201310465843
【公開日】2015年4月15日 申請日期:2013年10月8日 優(yōu)先權(quán)日:2013年10月8日
【發(fā)明者】諶冬華 申請人:博雅網(wǎng)絡(luò)游戲開發(fā)(深圳)有限公司