一種移動(dòng)應(yīng)用自動(dòng)化發(fā)布方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種移動(dòng)應(yīng)用自動(dòng)化發(fā)布方法和系統(tǒng),屬于軟件應(yīng)用領(lǐng)域。
【背景技術(shù)】
[0002]隨著智能手機(jī)的不斷普及,以即時(shí)通訊等軟件為代表的移動(dòng)應(yīng)用逐漸成為人們生活中不可分割的一部分。移動(dòng)應(yīng)用平臺(tái)的碎片化成為了人們,尤其是開(kāi)發(fā)者的無(wú)法回避的難題。移動(dòng)應(yīng)用平臺(tái)的碎片化主要體現(xiàn)在兩個(gè)方面,一方面是操作系統(tǒng)的碎片化,目前智能手機(jī)的主流操作系統(tǒng)包括Android (安卓)、1S、Windows Phone等,每一種平臺(tái)都對(duì)應(yīng)不同類型的安裝文件,這就迫使應(yīng)用程序的開(kāi)發(fā)者們不得不針對(duì)不同平臺(tái)制作和發(fā)布不同類型的安裝包;另一方面是發(fā)布平臺(tái)的碎片化,以安卓為例,除了谷歌官方運(yùn)營(yíng)維護(hù)的GOOGLEPLAY應(yīng)用發(fā)布系統(tǒng)(軟件市場(chǎng))外,市面上還有例如安卓市場(chǎng)、木螞蟻等第三方的應(yīng)用發(fā)布系統(tǒng),以及軟件開(kāi)發(fā)商內(nèi)部建立的軟件測(cè)試發(fā)布平臺(tái)等,一款新的移動(dòng)應(yīng)用完成后往往需要在多個(gè)應(yīng)用發(fā)布系統(tǒng)分別發(fā)布。此外,頻繁發(fā)布新的版本是移動(dòng)平臺(tái)應(yīng)用的另一個(gè)特點(diǎn)。為此開(kāi)發(fā)者在發(fā)布一款移動(dòng)應(yīng)用或者更新一個(gè)新版本時(shí),不得不面臨在數(shù)個(gè)平臺(tái)上多次反復(fù)上傳發(fā)布的問(wèn)題。
[0003]另一方面,目前在發(fā)布應(yīng)用時(shí)通常需要手動(dòng)輸入應(yīng)用軟件的特征信息,例如軟件名稱、版本號(hào)、應(yīng)用圖標(biāo)等,而應(yīng)用軟件的安裝文件本身通常已經(jīng)直接包含了上述特征信息,在發(fā)布應(yīng)用時(shí)再次輸入將造成時(shí)間上的浪費(fèi)。
【發(fā)明內(nèi)容】
[0004]針對(duì)現(xiàn)有技術(shù)存在的上述問(wèn)題,提出了本發(fā)明的技術(shù)方案。
[0005]基于本發(fā)明的第一個(gè)方面,提供了一種移動(dòng)應(yīng)用自動(dòng)化發(fā)布方法,包括以下步驟:
[0006]步驟S10,識(shí)別安裝包類型;
[0007]步驟S20,根據(jù)安裝包類型,提取所述安裝包對(duì)應(yīng)的包含了特征信息的特征文件;
[0008]步驟S30,根據(jù)特征文件打包成極小安裝包;
[0009]步驟S40,將極小安裝包發(fā)送至服務(wù)端;
[0010]步驟S50,上傳完整安裝包至服務(wù)端。
[0011 ]優(yōu)選地,步驟S50之后包括:
[0012]步驟S60,服務(wù)端對(duì)極小安裝包進(jìn)行解析,從而獲取安裝包的特征文件;
[0013]步驟S70,服務(wù)端根據(jù)所述特征文件和完整安裝包,生成發(fā)布信息。
[0014]優(yōu)選地,步驟S50之后包括:
[0015]步驟S60,服務(wù)端對(duì)極小安裝包進(jìn)行解析,從而獲取安裝包的特征文件;
[0016]步驟S80,服務(wù)端根據(jù)所述特征文件和完整安裝包,打包成軟件發(fā)布平臺(tái)對(duì)應(yīng)的發(fā)布格式,并發(fā)送至該軟件發(fā)布平臺(tái)。
[0017]優(yōu)選地,步驟S10和步驟S20之間還包括:步驟S11,當(dāng)客戶端無(wú)法正常識(shí)別所述安裝包的類型時(shí),通過(guò)輸入模塊手動(dòng)輸入所述安裝包的類型;步驟S20和步驟S30之間還包括:步驟S21,當(dāng)客戶端無(wú)法正常提取所述安裝包的特征文件時(shí),通過(guò)輸入模塊手動(dòng)輸入所述安裝包的特征信息。
[0018]基于本發(fā)明的第二個(gè)方面,提供了一種移動(dòng)應(yīng)用自動(dòng)化發(fā)布系統(tǒng),包括:客戶端,用于識(shí)別完整安裝包類型,并根據(jù)類型提取對(duì)應(yīng)的特征文件,根據(jù)特征文件制作極小安裝包,并發(fā)送極小安裝包和完整安裝包至服務(wù)端;服務(wù)端,用于接收極小安裝包和完整安裝包,并從極小安裝包中提取的特征文件,從而用于發(fā)布該安裝包對(duì)應(yīng)的軟件。
[0019]優(yōu)選地,所述客戶端包括:類型識(shí)別模塊,用于識(shí)別完整安裝包的類型;特征文件提取模塊,用于根據(jù)所述完整安裝包的類型,提取對(duì)應(yīng)的文件;極小安裝包打包模塊,用于根據(jù)所述特征文件,打包成極小安裝包;客戶端數(shù)據(jù)通信模塊,用于發(fā)送極小安裝包和完整安裝包文件。
[0020]優(yōu)選地,所述服務(wù)端包括:服務(wù)端數(shù)據(jù)通信模塊,用于接收客戶端發(fā)送的極小安裝包和完整的安裝文件;極小安裝包解析模塊,用于從極小安裝包中提取所述完整安裝包的特征信息。
[0021]優(yōu)選地,所述服務(wù)端還包括:軟件平臺(tái)發(fā)布模塊,用于根據(jù)極小安裝包包含的特征信息和完整安裝包,打包成軟件平臺(tái)發(fā)布對(duì)應(yīng)的發(fā)布格式,并發(fā)送至該軟件發(fā)布平臺(tái)。
[0022]優(yōu)選地,所述客戶端和服務(wù)端采取CS或BS架構(gòu);所述客戶端還包括:輸入模塊,用于當(dāng)無(wú)法正常識(shí)別所述完整安裝包的類型,或/和無(wú)法正常提取所述完整安裝包的特征文件時(shí),手動(dòng)輸入所述完整安裝包的類型或/和特征信息;所述服務(wù)端還包括:發(fā)布模塊,用于根據(jù)完整安裝包和從極小安裝包中提取的特征信息,生成供用戶識(shí)別和下載的完整安裝包的發(fā)布信息。
[0023]基于本發(fā)明的第三個(gè)方面,提供了一種移動(dòng)應(yīng)用自動(dòng)化發(fā)布系統(tǒng),包括:安裝包識(shí)別模塊,用于識(shí)別安裝包類型;特征文件提取模塊,用于根據(jù)安裝包類型,提取所述安裝包對(duì)應(yīng)的包含了特征文件信息的特征文件;極小安裝包打包模塊,用于根據(jù)特征文件打包成極小安裝包;極小安裝包發(fā)送模塊,用于將極小安裝包發(fā)送至服務(wù)端;完整安裝包發(fā)送模塊,用于上傳完整安裝包至服務(wù)端。
[0024]本發(fā)明的有益效果:通過(guò)讀取安裝包的特征文件并最終完成自動(dòng)生成發(fā)布應(yīng)用,從而減少了手動(dòng)操作,實(shí)現(xiàn)了方便快捷的一鍵式發(fā)布,節(jié)約了時(shí)間和人力;通過(guò)客戶端識(shí)別安裝包文件類型和讀取對(duì)應(yīng)的特征文件的功能,實(shí)現(xiàn)了不同類型安裝包文件通過(guò)同一客戶端發(fā)布的功能,降低了開(kāi)發(fā)人員的學(xué)習(xí)成本;采取客戶端、服務(wù)端的兩層架構(gòu),或者客戶端、服務(wù)端、軟件發(fā)布平臺(tái)的三層架構(gòu),可以支持包括第三方在內(nèi)的多種發(fā)布平臺(tái),實(shí)現(xiàn)一次上傳多方發(fā)布的便捷效果;同時(shí)當(dāng)發(fā)布平臺(tái)發(fā)生變化時(shí),只需要服務(wù)端作出相應(yīng)的修改,無(wú)需修改客戶端,降低了維護(hù)的成本。
【附圖說(shuō)明】
[0025]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
[0026]圖1所示為根據(jù)本發(fā)明第一實(shí)施例的一種移動(dòng)應(yīng)用自動(dòng)化發(fā)布系統(tǒng)的總體結(jié)構(gòu)圖;
[0027]圖2所示為根據(jù)本發(fā)明第二實(shí)施例的一種移動(dòng)應(yīng)用自動(dòng)化發(fā)布系統(tǒng)的總體結(jié)構(gòu)圖;
[0028]圖3所示為根據(jù)本發(fā)明第三實(shí)施例的一種移動(dòng)應(yīng)用自動(dòng)化發(fā)布方法的流程圖;
[0029]圖4所示為根據(jù)本發(fā)明第三實(shí)施例的一種移動(dòng)應(yīng)用自動(dòng)化發(fā)布方法的客戶端的詳細(xì)流程圖;
[0030]圖5所示為根據(jù)本發(fā)明第三實(shí)施例的一種移動(dòng)應(yīng)用自動(dòng)化發(fā)布方法的服務(wù)端的詳細(xì)流程圖。
【具體實(shí)施方式】
[0031]參考圖1,根據(jù)本發(fā)明的第一實(shí)施例的一種移動(dòng)應(yīng)用自動(dòng)化發(fā)布系統(tǒng),該系統(tǒng)包括用于識(shí)別移動(dòng)應(yīng)用的安裝包類型,并根據(jù)安裝包類型,提取對(duì)應(yīng)的包含了特征信息的特征文件,根據(jù)特征文件打包成極小安裝包,并將極小安裝包和完整安裝包發(fā)送至服務(wù)端的客戶端;用于接收極小安裝包和完整安裝包,并從極小安裝包中提取的特征文件,從而用于發(fā)布該安裝包對(duì)應(yīng)的軟件的服務(wù)端。
[0032]其中,在本實(shí)施例中客戶端與服務(wù)端采取了 BS架構(gòu),通過(guò)瀏覽器實(shí)現(xiàn)客戶端的功能,當(dāng)客戶端需要修改時(shí),只需要在服務(wù)器上作出一次修改即可,從而降低了維護(hù)和更新成本。此外,采用客戶端與服務(wù)端也可以改用CS架構(gòu)。當(dāng)改用CS架構(gòu)時(shí),客戶端采用軟件終端的形式可以提高運(yùn)行的效率。
[0033]客戶端包括類型識(shí)別模塊、特征文件提取模塊、極小安裝包制作模塊、客戶端數(shù)據(jù)通信模塊和輸入模塊。其中,類型識(shí)別模塊用于識(shí)別完整安裝包的類型,示例性的可以通過(guò)讀取所述完整安裝包的后綴名實(shí)現(xiàn),例如讀取完整安裝包的后綴名為.APK,則該完整安裝包為安卓平臺(tái)類型的安裝包。
[0034]特征文件提取模塊在獲取完整安裝包的類型后,用于根據(jù)所述完整安裝包的類型,提取對(duì)應(yīng)的特征文件。示例性的,當(dāng)所述完整安裝包為安卓安裝包時(shí),提取所述完整安裝包的安卓安裝包配置文件。通過(guò)讀取該文件中記錄的版本號(hào)等字段的信息,即可獲得所述完整安裝包的特征信息,上述特征信息可以包括軟件名、版本號(hào)、圖標(biāo)、生成日期等。
[0035]當(dāng)客戶端當(dāng)無(wú)法正常識(shí)別所述完整安裝包的類型,或/和無(wú)法正常提取所述完整安裝包的特征文件時(shí),通過(guò)輸入模塊手動(dòng)輸入所述完整安裝包的類型和所述平臺(tái)或/和特征信息。
[0036]極小安裝包制作模塊根據(jù)特征文件提取模塊或所述輸入模塊獲得的特征文件或特征信息,制作發(fā)往服務(wù)端的可以識(shí)別的極小安裝包,所述極小安裝包包括了所述完整安裝包的特征信息,還可以包括所完整安裝包的類型和附加信息,示例性的,附加信息包括哈希值等校驗(yàn)信息和完整安裝包的文件大小。
[0037]客戶端數(shù)據(jù)通信模塊用于與服務(wù)端連接,并將極小安裝包及完整安裝包發(fā)送給服務(wù)端。
[0038]服務(wù)端包括服務(wù)端數(shù)據(jù)通