一種批量生成多渠道apk文件包的方法
【專利摘要】本發(fā)明涉及一種批量生成多渠道apk文件包的方法,能夠高效批量生成多渠道的apk文件,減少出錯(cuò)率。包括以下步驟:S1:將至少一個(gè)apk文件包放入第一文件夾中,將若干渠道信息放入第一列表中;S2:遍歷第一列表,依次得到若干渠道信息,且從第一文件夾中依次選取一apk文件包,將apk文件包中含渠道信息文件中的原渠道信息用若干渠道信息依次替換,依次得到若干不同的含新渠道信息文件;S3:apk文件包的不含渠道信息部分分別與若干不同的含新渠道信息文件重新打包,生成若干新的spk文件包,并簽名;S4:重復(fù)步驟S2至S3,直至第一文件夾中的所有apk文件包處理完成。
【專利說明】—種批量生成多渠道apk文件包的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種apk文件生成方法,尤其涉及一種批量生成多渠道apk文件包的方法。
【背景技術(shù)】
[0002]elipse Android項(xiàng)目開發(fā)完成以后要將android項(xiàng)目文件打包成apk文件包,并最終下載到手機(jī)上運(yùn)行。在開發(fā)android app時(shí),由于android市場的開放性,由于android市場的發(fā)布平臺(tái)太多,各個(gè)發(fā)布平臺(tái)都有自己的app市場,在這種情況下app有一個(gè)共同的要求,就是要分渠道統(tǒng)計(jì)活躍,注冊(cè),在線數(shù)據(jù),或者根據(jù)不同渠道信息來加載SDK,做該平臺(tái)相關(guān)的具體業(yè)務(wù)。但是這樣每次版本更新就是要修改一次渠道信息,還要簽名手動(dòng)的輸入密碼,如果在使用ADT Export Application Package,尤其在配置了 proguard的情況下,這樣如果有η個(gè)渠道信息就需要手工修改含渠道信息的文件里面的渠道信息η次,然后再手動(dòng)簽名打包η次,有時(shí)一個(gè)工程應(yīng)用非常大,每次打包都要浪費(fèi)掉幾分鐘,再加上手工修改渠道信息這會(huì)增加很多額外的耗費(fèi),并且如果每個(gè)渠道都單獨(dú)發(fā)布,那樣效率會(huì)極其的低下,由于渠道數(shù)目多,發(fā)生錯(cuò)誤的概率很高。因此尋找一種能夠高效批量生成多渠道的apk文件包的方法變的十分必要。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于提供一種批量生成多渠道apk文件包的方法,能夠高效批量生成多渠道的apk文件。
[0004]為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種批量生成多渠道apk文件包的方法,包括以下步驟:
51:將至少一個(gè)apk文件包放入第一文件夾中,將若干渠道信息放入第一列表中,所述至少一個(gè)apk文件包均由含渠道信息文件與不含渠道信息部分組成;
52:遍歷所述第一列表,依次得到所述若干渠道信息,且從所述第一文件夾中依次選取一 apk文件包,將所選取的apk文件包中含渠道信息文件中的原渠道信息用所述若干渠道信息依次替換,依次得到若干不同的含新渠道信息的文件;
53:所述apk文件包中的不含渠道信息部分分別與所述若干不同的含新渠道信息的文件重新打包,生成若干新的apk文件包,并對(duì)所述若干新的apk文件包重新簽名;
54:重復(fù)步驟S2至S3,直至所述第一文件夾中的所有apk文件包處理完成。
[0005]較佳地,SI中還包括,若所述至少一個(gè)apk文件包為壓縮文件包,對(duì)其進(jìn)行解壓縮得到含渠道信息文件與不含渠道信息部分。
[0006]較佳地,S3中還包括,若所述apk文件包中有簽名證書,則刪除所述apk文件包的不含渠道信息部分中的簽名證書信息,得到的部分分別與若干不同的含新渠道信息文件重新打包。
[0007]較佳地,S4中進(jìn)一步包括,從第一文件夾得到不同的apk文件包時(shí),對(duì)應(yīng)所述第一列表中的若干渠道信息為可更改的。
[0008]較佳地,所述渠道信息中包括版本號(hào)信息以及渠道號(hào)信息。
[0009]較佳地,S3中還包括在所述新的apk文件包的文件名后面加上版本號(hào)信息以及渠道號(hào)信息。
[0010]本發(fā)明由于采用以上技術(shù)方案,使之與現(xiàn)有技術(shù)相比,具有以下的優(yōu)點(diǎn)和積極效果:
本發(fā)明可以實(shí)現(xiàn)不用手動(dòng)修改含渠道號(hào)文件中的渠道信息,而是將一系列的渠道信息放入渠道信息列表文件中進(jìn)行多渠道打包發(fā)布,簡化了多渠道打包過程,且可以較快生成適合多種屏幕分辨率的以及多種發(fā)布平臺(tái)的不同apk文件包版本。減少了人力和出錯(cuò)的概率,且批處理文件簡短易重用以及易于后期擴(kuò)展。對(duì)于開發(fā)人員而言,可以輕松地更改程序以及渠道信息列表,將打包過程進(jìn)行擴(kuò)展和優(yōu)化,方便提高程序的效率。
【專利附圖】
【附圖說明】
[0011]圖1為本發(fā)明一種批量生成多渠道apk文件包的方法的流程圖。
【具體實(shí)施方式】
[0012]下面參照附圖和具體實(shí)施例來進(jìn)一步說明本發(fā)明。
[0013]參見出本發(fā)明實(shí)施例的附圖,下文將更詳細(xì)地描述本發(fā)明。然而,本發(fā)明可以以許多不同形式實(shí)現(xiàn),并且不應(yīng)解釋為受在此提出之實(shí)施例的限制。相反,提出這些實(shí)施例是為了達(dá)成充分及完整公開,并且使本【技術(shù)領(lǐng)域】的技術(shù)人員完全了解本發(fā)明的范圍。
[0014]實(shí)施例一
附圖1為本發(fā)明一種批量生成多渠道apk文件包的方法的流程圖,以下詳細(xì)描述本發(fā)明提供的一種批量生成多渠道apk文件包的方法,包括以下步驟:
S1:將一個(gè)apk文件包放入第一文件夾中,將若干渠道信息放入第一列表中。apk文件包均由含渠道信息文件與不含渠道信息部分組成,若apk文件包為壓縮文件,對(duì)其進(jìn)行解壓縮得到含渠道信息文件與不含渠道信息部分。渠道信息中包括版本號(hào)信息以及渠道號(hào)信息,
示例為:02030502-99000-100300010010002 ;產(chǎn)生的apk名中除了渠道號(hào)信息100300010010002外還有版本號(hào)信息Ver2.3.5.2 =02030502-99000,渠道號(hào)信息用于標(biāo)識(shí)不同發(fā)布平臺(tái)的apk文件包,版本號(hào)信息可用于標(biāo)識(shí)適合不同屏幕分辨率手機(jī)使用的apk文件包以及不同版本的apk文件包。
[0015]S2:遍歷第一文件夾,得到一 apk文件包,遍歷第一列表,依次得到若干渠道信息,將apk文件包中含渠道信息文件中的原渠道信息用若干渠道信息依次替換,依次得到若干不同的含新渠道信息的文件。本步驟中采用將含渠道信息的文件中的原渠道信息根據(jù)第一列表中渠道信息依次進(jìn)行替換的方式,簡化了人工輸入渠道信息的繁雜工作,提高了效率,且第一列表編輯靈活,可重復(fù)使用。
[0016]S3:apk文件包的不含渠道信息部分分別與若干不同的含新渠道信息的文件重新打包,生成新的apk文件包,并對(duì)若干新的apk文件包重新簽名,便得到了已簽名的目的apk文件包,實(shí)現(xiàn)了批量生成多渠道的apk文件包。[0017]在S3中,若apk文件包中原有簽名證書,則刪除apk文件包的不含渠道信息部分中的簽名證書信息,得到的部分分別與若干不同的含新渠道信息文件重新打包,生成新的apk文件包,并對(duì)若干新的apk文件包進(jìn)行重新簽名,并在新的apk文件包的文件名后面加上版本號(hào)信息以及渠道號(hào)信息以區(qū)別各個(gè)不同渠道信息的apk文件包。
[0018]實(shí)施例二
如附圖1所示,本發(fā)明涉及一種批量生成多渠道apk文件包的方法,包括以下步驟:
S1:將多個(gè)apk文件包放入第一文件夾中,將若干渠道信息放入第一列表中,apk文件包均由含渠道信息文件與不含渠道信息部分組成,若apk文件包為壓縮文件,對(duì)其進(jìn)行解壓縮得到含渠道信息文件與不含渠道信息部分。渠道信息中包括版本號(hào)信息以及渠道號(hào)信息,
示例為:02030502-99000-100300010010002 ;產(chǎn)生的apk名中除了渠道號(hào)信息100300010010002外還有版本號(hào)信息Ver2.3.5.2 =02030502-99000,渠道號(hào)信息用于標(biāo)識(shí)不同發(fā)布平臺(tái)的apk文件包,版本號(hào)信息可用于標(biāo)識(shí)適合不同屏幕分辨率手機(jī)使用的apk文件包以及不同版本的apk文件包。
[0019]S2:遍歷第一列表,依次得到若干渠道信息,且從第一文件夾中依次選取一 apk文件包,將所選取的apk文件包中含渠道信息文件中的原渠道信息用若干渠道信息依次替換,依次得到不同的含新渠道信息文件。本步驟中采用將含渠道信息文件中的原渠道信息根據(jù)第一列表中渠道信息進(jìn)行依次替換的方式,簡化了人工輸入渠道信息的繁雜工作,提高了效率,且第一列表編輯靈活,可重復(fù)使用。
[0020]S3:apk文件包中的不含渠道信息部分分別與若干不同的含新渠道信息文件重新打包,生成若干新的apk文件包,并對(duì)若干新的apk文件包重新簽名,便得到了已簽名的目的apk文件包,實(shí)現(xiàn)了批量生成多渠道的apk文件包。
[0021]在S3中,若apk文件包中原有簽名證書,則刪除apk文件包的不含渠道信息部分中的簽名證書信息,得到的部分分別與若干不同的含新渠道信息文件重新打包,生成新的spk文件包,并對(duì)若干新的apk文件包重新簽名,并在新的apk文件包的文件名后面加上版本號(hào)信息以及渠道號(hào)信息以區(qū)別各個(gè)不同渠道信息的apk文件包。
[0022]S4:從第一文件夾中得到另一 apk文件包,重復(fù)S2和S3中步驟,得到若干已簽名的新的apk文件包,如此循環(huán),直至第一文件夾中所有apk文件包處理完成。
[0023]從第一文件夾得到不同的apk文件包,對(duì)應(yīng)遍歷第一列表中依次得到若干渠道信息,其中第一列表中若干渠道信息可以根據(jù)得到不同的apk文件包而進(jìn)行調(diào)整更改,再重復(fù)S2和S3中步驟:將apk文件包中含渠道信息文件中的原渠道信息用第一列表中的若干渠道信息依次替換,得到不同的含新渠道信息文件,apk文件包的不含渠道信息部分分別與若干不同的含新渠道信息文件重新打包,生成新的apk文件包,并對(duì)若干新的apk文件包重新簽名,得到若干已簽名的新的apk文件包。然后再次從第一文件夾中得到下一個(gè)apk文件包,重復(fù)S2和S3中步驟,得到若干已簽名的新的apk文件,如此循環(huán),直至第一文件夾中所有apk文件包被處理完成,通過此方法可以實(shí)現(xiàn)多個(gè)apk文件包個(gè)性化發(fā)布在不同平臺(tái)的多渠道、多版本apk文件包的批量生成。
[0024]上述公開的僅為本發(fā)明的具體實(shí)施例,該實(shí)施例只為更清楚的說明本發(fā)明所用,而并非對(duì)本發(fā)明的限定,任何本領(lǐng)域的技術(shù)人員能思之的變化,都應(yīng)落在保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種批量生成多渠道apk文件包的方法,其特征在于,包括以下步驟: 51:將至少一個(gè)apk文件包放入第一文件夾中,將若干渠道信息放入第一列表中,所述至少一個(gè)apk文件包均由含渠道信息文件與不含渠道信息部分組成; 52:遍歷所述第一列表,依次得到所述若干渠道信息,且從所述第一文件夾中依次選取一 apk文件包,將所選取的apk文件包中含渠道信息文件中的原渠道信息用所述若干渠道信息依次替換,依次得到若干不同的含新渠道信息的文件; 53:所述apk文件包中的不含渠道信息部分分別與所述若干不同的含新渠道信息的文件重新打包,生成若干新的apk文件包,并對(duì)所述若干新的apk文件包重新簽名; 54:重復(fù)步驟S2至S3,直至所述第一文件夾中的所有apk文件包處理完成。
2.如權(quán)利要求1所述的一種批量生成多渠道apk文件包的方法,其特征在于,SI中還包括,若所述至少一個(gè)apk文件包為壓縮文件包,對(duì)其進(jìn)行解壓縮得到含渠道信息文件與不含渠道信息部分。
3.如權(quán)利要求2所述的一種批量生成多渠道apk文件包的方法,其特征在于,S3中還包括,若所述apk文件包中有簽名證書,則刪除所述apk文件包的不含渠道信息部分中的簽名證書信息,得到的部分分別與若干不同的含新渠道信息文件重新打包。
4.如權(quán)利要求3所述的一種批量生成多渠道apk文件包的方法,其特征在于, S4中進(jìn)一步包括,從第一文件夾得到不同的apk文件包時(shí),對(duì)應(yīng)所述第一列表中的若干渠道信息為可更改的。
5.如權(quán)利要求1-4中任意一項(xiàng)所述的一種批量生成多渠道apk文件包的方法,其特征在于,所述渠道信息中包括版本號(hào)信息以及渠道號(hào)信息。
6.如權(quán)利要求1-4中任意一項(xiàng)所述的一種批量生成多渠道apk文件包的方法,其特征在于,S3中還包括在所述新的apk文件包的文件名后面加上版本號(hào)信息以及渠道號(hào)信息。
【文檔編號(hào)】G06F9/44GK103729186SQ201310748221
【公開日】2014年4月16日 申請(qǐng)日期:2013年12月31日 優(yōu)先權(quán)日:2013年12月31日
【發(fā)明者】郭春松, 李慶瑜, 戴立言 申請(qǐng)人:上海網(wǎng)達(dá)軟件股份有限公司