本發(fā)明涉及計算機軟件領(lǐng)域,尤其涉及一種Android應(yīng)用程序構(gòu)建方法及系統(tǒng)。
背景技術(shù):
在軟件項目的開發(fā)過程中,開發(fā)人員需要在本地開發(fā)并編譯打包,然后遠程登入服務(wù)器,并且將編譯打包后的軟件包上傳至服務(wù)器,同時根據(jù)不同的現(xiàn)場環(huán)境規(guī)則,在服務(wù)器上修改與現(xiàn)場環(huán)境相對應(yīng)的配置文件,接著根據(jù)目的地址而執(zhí)行分發(fā)操作,以完成發(fā)布任務(wù)。對于Android應(yīng)用程序而言,一般使用Make腳本來批量完成編譯工作,存在平臺相關(guān)性較強的缺點。
技術(shù)實現(xiàn)要素:
本發(fā)明的主要目的在于提出一種Android應(yīng)用程序構(gòu)建方法及系統(tǒng),旨在實現(xiàn)跨平臺編譯。
為實現(xiàn)上述目的,本發(fā)明提供的一種Android應(yīng)用程序構(gòu)建方法包括:
獲取Android源碼;
通過內(nèi)置的Ant編譯工具對所述源碼進行編譯;
根據(jù)內(nèi)置的Ant編譯環(huán)境規(guī)則,將編譯后的源碼進行打包,以獲得與所述Ant編譯環(huán)境規(guī)則對應(yīng)的安裝程序文件;
將所述安裝程序文件發(fā)布到服務(wù)器。
優(yōu)選地,所述獲取Android源碼的步驟還包括:
在持續(xù)集成平臺上預(yù)先部署構(gòu)建計劃,所述構(gòu)建計劃包括構(gòu)建時間;
當?shù)竭_所述構(gòu)建時間時,獲取Android源碼。
優(yōu)選地,所述通過內(nèi)置的Ant編譯器對所述源碼進行編譯的步驟之后還包括:
獲取當前對所述源碼進行編譯的版本信息,并將所述版本信息保存成文本文件;
將所述文本文件打包至所述安裝程序文件。
優(yōu)選地,所述將所述安裝程序文件發(fā)布到服務(wù)器的步驟之后還包括:
接收服務(wù)器返回的所述安裝程序文件發(fā)布的進度信息和狀態(tài)信息。
優(yōu)選地,所述接收服務(wù)器返回的所述安裝程序文件發(fā)布的進度信息和狀態(tài)信息的步驟之后還包括:
當所述狀態(tài)信息為發(fā)布失敗時,根據(jù)所述版本信息查找所述Android源碼。
此外,為實現(xiàn)上述目的,本發(fā)明還提出一種Android應(yīng)用程序構(gòu)建系統(tǒng),所述Android應(yīng)用程序構(gòu)建系統(tǒng)包括:
源碼獲取模塊,用于獲取Android源碼;
編譯模塊,用于通過內(nèi)置的Ant編譯工具對所述源碼進行編譯;
打包模塊,用于根據(jù)內(nèi)置的Ant編譯環(huán)境規(guī)則,將編譯后的源碼進行打包,以獲得與所述Ant編譯環(huán)境規(guī)則對應(yīng)的安裝程序文件;
發(fā)布模塊,用于將所述安裝程序文件發(fā)布到服務(wù)器。
優(yōu)選地,所述源碼獲取模塊還包括:
構(gòu)建計劃部署單元,用于在持續(xù)集成平臺上預(yù)先部署構(gòu)建計劃,所述構(gòu)建計劃包括構(gòu)建時間;
源碼獲取單元,用于當?shù)竭_所述構(gòu)建時間時,獲取Android源碼。
優(yōu)選地,所述Android應(yīng)用程序構(gòu)建系統(tǒng)還包括:
版本信息獲取模塊,用于獲取當前對所述源碼進行編譯的版本信息,并將所述版本信息保存成文本文件;
文本文件打包模塊,用于將所述文本文件打包至所述安裝程序文件。
優(yōu)選地,所述Android應(yīng)用程序構(gòu)建系統(tǒng)還包括:
發(fā)布信息接收模塊,用于接收服務(wù)器返回的所述安裝程序文件發(fā)布的進度信息和狀態(tài)信息。
優(yōu)選地,所述Android應(yīng)用程序構(gòu)建系統(tǒng)還包括:
安裝程序文件查找模塊,用于當所述狀態(tài)信息為發(fā)布失敗時,根據(jù)所述版本信息查找所述Android源碼。
本發(fā)明提出的技術(shù)方案中,在源碼編譯服務(wù)器部署Ant編譯環(huán)境,使用Ant編譯工具對Android源碼進行編譯,在Ant編譯環(huán)境下可以實現(xiàn)跨平臺編譯,即不依賴于操作系統(tǒng),也不信賴硬件環(huán)境即可實現(xiàn)自動編譯、打包、自動發(fā)布操作。
附圖說明
圖1為本發(fā)明Android應(yīng)用程序構(gòu)建方法第一實施例的流程示意圖;
圖2為本發(fā)明Android應(yīng)用程序構(gòu)建方法第二實施例中獲取Android源碼步驟的細化流程示意圖;
圖3為本發(fā)明Android應(yīng)用程序構(gòu)建方法第三實施例的流程示意圖;
圖4為本發(fā)明Android應(yīng)用程序構(gòu)建方法第四實施例的流程示意圖;
圖5為本發(fā)明Android應(yīng)用程序構(gòu)建系統(tǒng)第一實施例的功能模塊示意圖;
圖6為本發(fā)明Android應(yīng)用程序構(gòu)建系統(tǒng)第二實施例中的源碼獲取模塊的細化功能模塊示意圖;
圖7為本發(fā)明Android應(yīng)用程序構(gòu)建系統(tǒng)第三實施例的功能模塊示意圖;
圖8為本發(fā)明Android應(yīng)用程序構(gòu)建系統(tǒng)第四實施例的功能模塊示意圖;
圖9為本發(fā)明Android應(yīng)用程序構(gòu)建系統(tǒng)第五實施例的功能模塊示意圖。
本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
具體實施方式
應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,本發(fā)明第一實施例提出的Android應(yīng)用程序構(gòu)建方法包括:
步驟S100,獲取Android源碼;
步驟S200,通過內(nèi)置的Ant編譯工具對所述源碼進行編譯。
具體地,在Linux系統(tǒng)下部署Ant編譯環(huán)境。主要安裝和配置以下4個工具:Android SDK(安裝路徑:/opt/adt-bundle-linux-x86-20131030/sdk);JDK(版本JDK1.7,安裝路徑:/opt/jdk/java-7-openjdk-amd64);NDK(如應(yīng)用程序中有NDK編譯則需要安裝,安裝路徑:/opt/android-ndk-r9d);Ant(安裝路徑:/user/share/ant)。
其中,SDK(Software Development Kit,軟件開發(fā)工具)是一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等創(chuàng)建應(yīng)用軟件的開發(fā)工具的集合。它可以簡單地為某個程序設(shè)計語言提供應(yīng)用程序接口API的一些文件,但也可能包括能與某種嵌入式系統(tǒng)通訊的復(fù)雜的硬件。一般的工具包括用于調(diào)試和其他用途的實用工具。SDK還經(jīng)常包括示例代碼、支持性的技術(shù)注解或者其他的為基本參考資料澄清疑點的支持文檔。
JDK(Java Development Kit,Java開發(fā)工具)是Sun Microsystems針對Java開發(fā)人員的產(chǎn)品。JDK是整個Java的核心,包括了Java運行環(huán)境,Java工具和Java基礎(chǔ)的類庫。從SUN的JDK5.0開始,提供了泛型等非常實用的功能,其版本也不斷更新,運行效率得到了非常大的提高。JDK包含的基本組件包括:javac:編譯器,將源程序轉(zhuǎn)成字節(jié)碼;jar:打包工具,將相關(guān)的類文件打包成一個文件;javadoc:文檔生成器,從源碼注釋中提取文檔;jdb:debugger,查錯工具;java:運行編譯后的java程序;appletviewer:小程序瀏覽器,一種執(zhí)行HTML文件上的Java小程序的Java瀏覽器;Javah:產(chǎn)生可以調(diào)用Java過程的C過程,或建立能被Java程序調(diào)用的C過程的頭文件;Javap:Java反匯編器,顯示編譯類文件中的可訪問功能和數(shù)據(jù),同時顯示字節(jié)代碼含義;Jconsole:Java進行系統(tǒng)調(diào)試和監(jiān)控的工具。
當接收到程序發(fā)布指令時,將最新的Android源碼下載到本地,并使用Ant編譯工具對源碼自動編譯,節(jié)省了開發(fā)人員對代碼進行手動編譯的時間。由于Ant編譯工具不受平臺限制,使得Android應(yīng)用程序編譯只需一個服務(wù)器即可,降低了成本,提高應(yīng)用編譯效率。
步驟S300,根據(jù)內(nèi)置的Ant編譯環(huán)境規(guī)則,將編譯后的源碼進行打包,以獲得與所述Ant編譯環(huán)境規(guī)則對應(yīng)的安裝程序文件。
具體地,編譯腳本接收所傳的參數(shù)選擇debug或release版本等編譯方案,通過自定義Ant編譯環(huán)境規(guī)則,比如引用不同的custom_rules.xml,實現(xiàn)Ant編譯時引用不同的jar包或者做其他特殊化處理。
Debug通常稱為調(diào)試版本,包含調(diào)試信息,并且不作所有優(yōu)化,便于程式員調(diào)試程式。Release稱為發(fā)布版本,往往進行了各種優(yōu)化,使得程式在代碼大小和運行速度上都是最優(yōu)的,以便用戶非常好地使用。實際上,Debug和Release并沒有本質(zhì)的界限,他們只是一組編譯選項的集合,編譯器只是按照預(yù)定的選項行動。
步驟S400,將所述安裝程序文件發(fā)布到服務(wù)器。
具體地,通過Ant編譯工具實現(xiàn)了自動化編譯、打包和發(fā)布操作,提高了工作效率,減少了人力成本。
本發(fā)明提出的技術(shù)方案中,在源碼編譯服務(wù)器部署Ant編譯環(huán)境,使用Ant編譯工具對Android源碼進行編譯,在Ant編譯環(huán)境下可以實現(xiàn)跨平臺編譯,即不依賴于操作系統(tǒng),也不信賴硬件環(huán)境即可實現(xiàn)自動編譯、打包、自動發(fā)布操作。
進一步地,參照圖2,為本發(fā)明Android應(yīng)用程序構(gòu)建方法的第二實施例,在上述第一實施例的基礎(chǔ)上,所述獲取Android源碼的步驟還包括:
步驟S101,在持續(xù)集成平臺上預(yù)先部署構(gòu)建計劃,所述構(gòu)建計劃包括構(gòu)建時間;
步驟S102,當?shù)竭_所述構(gòu)建時間時,獲取Android源碼。
具體地,隨著軟件技術(shù)的發(fā)展,軟件規(guī)模的擴大,軟件需求也越來越復(fù)雜,一個產(chǎn)品或者項目涉及到的人員和模塊也越來越多,以往都是采取等各部分的開發(fā)完成后再集成產(chǎn)品的模式,如今這種弊端也越來越明顯。很多bug在集成的時候才能發(fā)現(xiàn),導(dǎo)致很難定位到問題的根源,解決問題的代價大,很有可能導(dǎo)致項目失敗。
引入持續(xù)集成可以減少風險、減少重復(fù)過程、增強項目的可見性。一天中進行多次的集成,并做了相應(yīng)的測試,這樣有利于檢查缺陷,了解軟件的健康狀況,減少假定。通過自動化的工具,可以將集成工作自動化,無需太多人工的干預(yù)。還可以對每次代碼的變化或者集成的結(jié)果進行分析,有效的縮小了問題定位的范圍。這樣,開發(fā)團隊清楚的知道每一次構(gòu)建的結(jié)果,他們知道他們對軟件的改動造成了哪些影響,結(jié)果怎么樣,增強了開發(fā)團隊對開發(fā)產(chǎn)品的信心。目前企業(yè)級應(yīng)用主流的持續(xù)集成平臺是Jenkins(前身是Hudson)。它提供統(tǒng)一的界面配置,將代碼服務(wù)器、構(gòu)建、代碼檢測、測試、報表、打包、部署等一系列軟件開發(fā)過程自動化、配置化。
在Jenkins上部署自動構(gòu)建環(huán)境,通過設(shè)置Jenkins構(gòu)建計劃對Android應(yīng)用程序定時構(gòu)建并將結(jié)果通知給開發(fā)和集成人員,把編譯成功的安裝程序文件發(fā)布出來。一般構(gòu)建時間設(shè)置為凌晨0點-2點之間,此時服務(wù)器資源處于閑置狀態(tài),不會對開發(fā)人員造成影響。當?shù)竭_該構(gòu)建時間時,將最新的Android源碼下載到本地,其中,最新的Android源碼可以來自第三方開發(fā)商源碼服務(wù)器或者自己公司服務(wù)器。
本實施例中,通過Jenkins進行自動化構(gòu)建,簡化了應(yīng)用集成人員對應(yīng)用編譯集成的操作,同時開發(fā)人員也可以一鍵構(gòu)建,快速檢測自己代碼編譯方面的問題。
進一步地,在上述Android應(yīng)用程序構(gòu)建方法的第一或第二實施例的基礎(chǔ)上,所述通過內(nèi)置的Ant編譯器對所述源碼進行編譯的步驟之后還包括:
步驟S500,獲取當前對所述源碼進行編譯的版本信息,并將所述版本信息保存成文本文件;
步驟S600,將所述文本文件打包至所述安裝程序文件。
具體地,通過腳本獲取當前編譯時的版本信息,并將該版本信息以文本文件的形式(比如svninfo.txt)放在Android應(yīng)用程序的assets目錄,然后直接打包進安裝程序文件,即APK文件,只要拿到APK文件解壓后就可獲取到Android應(yīng)用程序的版本信息。
本實施例中,將Android應(yīng)用程序的版本信息打包進APK,方便開發(fā)人員快速準確查找應(yīng)用相關(guān)的信息,避免了開發(fā)人員因APK版本不清楚所造成的困惑,減少了溝通成本,提高了工作效率。
進一步地,參照圖3,為本發(fā)明Android應(yīng)用程序構(gòu)建方法的第三實施例,在上述第一或第二實施例的基礎(chǔ)上,所述將所述安裝程序文件發(fā)布到服務(wù)器的步驟之后還包括:
步驟S700,接收服務(wù)器返回的所述安裝程序文件發(fā)布的進度信息和狀態(tài)信息。
可以理解的是,向服務(wù)器發(fā)布安裝程序文件后,會接收一個安裝程序文件發(fā)布的進度信息和狀態(tài)信息,以使開發(fā)人員等相關(guān)人員知曉項目發(fā)布的進度和狀態(tài)。狀態(tài)信息可以是字符串標記,比如Success、Failure等。若安裝程序文件發(fā)布成功,接收字符串標記Success;若安裝程序文件發(fā)布失敗,接收字符串標記Failure。當發(fā)布失敗時,開發(fā)人員可以及時重新發(fā)布或修改代碼,以保證發(fā)布成功。
進一步地,參照圖4,為本發(fā)明Android應(yīng)用程序構(gòu)建方法的第四實施例,在上述第三實施例的基礎(chǔ)上,所述接收服務(wù)器返回的所述安裝程序文件發(fā)布的進度信息和狀態(tài)信息的步驟之后還包括:
步驟S800,當所述狀態(tài)信息為發(fā)布失敗時,根據(jù)所述版本信息查找所述Android源碼。
具體地,當接收到服務(wù)器返回發(fā)布失敗的狀態(tài)信息時,解析安裝程序文件即可獲知當前發(fā)布的Android應(yīng)用程序的版本信息,從而根據(jù)該版本信息查找相關(guān)Android源碼以便修改重新發(fā)布。
參照圖5,為本發(fā)明Android應(yīng)用程序構(gòu)建系統(tǒng)的第一實施例,該Android應(yīng)用程序構(gòu)建系統(tǒng)包括:
源碼獲取模塊100,用于獲取Android源碼;
編譯模塊200,用于通過內(nèi)置的Ant編譯工具對所述源碼進行編譯。
具體地,在Linux系統(tǒng)下部署Ant編譯環(huán)境。主要安裝和配置以下4個工具:Android SDK(安裝路徑:/opt/adt-bundle-linux-x86-20131030/sdk);JDK(版本JDK1.7,安裝路徑:/opt/jdk/java-7-openjdk-amd64);NDK(如應(yīng)用程序中有NDK編譯則需要安裝,安裝路徑:/opt/android-ndk-r9d);Ant(安裝路徑:/user/share/ant)。
其中,SDK(Software Development Kit,軟件開發(fā)工具)是一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等創(chuàng)建應(yīng)用軟件的開發(fā)工具的集合。它可以簡單地為某個程序設(shè)計語言提供應(yīng)用程序接口API的一些文件,但也可能包括能與某種嵌入式系統(tǒng)通訊的復(fù)雜的硬件。一般的工具包括用于調(diào)試和其他用途的實用工具。SDK還經(jīng)常包括示例代碼、支持性的技術(shù)注解或者其他的為基本參考資料澄清疑點的支持文檔。
JDK(Java Development Kit,Java開發(fā)工具)是Sun Microsystems針對Java開發(fā)人員的產(chǎn)品。JDK是整個Java的核心,包括了Java運行環(huán)境,Java工具和Java基礎(chǔ)的類庫。從SUN的JDK5.0開始,提供了泛型等非常實用的功能,其版本也不斷更新,運行效率得到了非常大的提高。JDK包含的基本組件包括:javac:編譯器,將源程序轉(zhuǎn)成字節(jié)碼;jar:打包工具,將相關(guān)的類文件打包成一個文件;javadoc:文檔生成器,從源碼注釋中提取文檔;jdb:debugger,查錯工具;java:運行編譯后的java程序;appletviewer:小程序瀏覽器,一種執(zhí)行HTML文件上的Java小程序的Java瀏覽器;Javah:產(chǎn)生可以調(diào)用Java過程的C過程,或建立能被Java程序調(diào)用的C過程的頭文件;Javap:Java反匯編器,顯示編譯類文件中的可訪問功能和數(shù)據(jù),同時顯示字節(jié)代碼含義;Jconsole:Java進行系統(tǒng)調(diào)試和監(jiān)控的工具。
當接收到程序發(fā)布指令時,將最新的Android源碼下載到本地,并使用Ant編譯工具對源碼自動編譯,節(jié)省了開發(fā)人員對代碼進行手動編譯的時間。由于Ant編譯工具不受平臺限制,使得Android應(yīng)用程序編譯只需一個服務(wù)器即可,降低了成本,提高應(yīng)用編譯效率。
打包模塊300,用于根據(jù)內(nèi)置的Ant編譯環(huán)境規(guī)則,將編譯后的源碼進行打包,以獲得與所述Ant編譯環(huán)境規(guī)則對應(yīng)的安裝程序文件。
具體地,編譯腳本接收所傳的參數(shù)選擇debug或release版本等編譯方案,通過自定義Ant編譯環(huán)境規(guī)則,比如引用不同的custom_rules.xml,實現(xiàn)Ant編譯時引用不同的jar包或者做其他特殊化處理。
Debug通常稱為調(diào)試版本,包含調(diào)試信息,并且不作所有優(yōu)化,便于程式員調(diào)試程式。Release稱為發(fā)布版本,往往進行了各種優(yōu)化,使得程式在代碼大小和運行速度上都是最優(yōu)的,以便用戶非常好地使用。實際上,Debug和Release并沒有本質(zhì)的界限,他們只是一組編譯選項的集合,編譯器只是按照預(yù)定的選項行動。
發(fā)布模塊400,用于將所述安裝程序文件發(fā)布到服務(wù)器。
具體地,通過Ant編譯工具實現(xiàn)了自動化編譯、打包和發(fā)布操作,提高了工作效率,減少了人力成本。
本發(fā)明提出的技術(shù)方案中,在源碼編譯服務(wù)器部署Ant編譯環(huán)境,使用Ant編譯工具對Android源碼進行編譯,在Ant編譯環(huán)境下可以實現(xiàn)跨平臺編譯,即不依賴于操作系統(tǒng),也不信賴硬件環(huán)境即可實現(xiàn)自動編譯、打包、自動發(fā)布操作。
進一步地,參照圖6,為本發(fā)明Android應(yīng)用程序構(gòu)建系統(tǒng)的第二實施例,在上述Android應(yīng)用程序構(gòu)建系統(tǒng)第一實施例的基礎(chǔ)上,所述源碼獲取模塊100還包括:
構(gòu)建計劃部署單元101,用于在持續(xù)集成平臺上預(yù)先部署構(gòu)建計劃,所述構(gòu)建計劃包括構(gòu)建時間;
源碼獲取單元102,用于當?shù)竭_所述構(gòu)建時間時,獲取Android源碼。
具體地,隨著軟件技術(shù)的發(fā)展,軟件規(guī)模的擴大,軟件需求也越來越復(fù)雜,一個產(chǎn)品或者項目涉及到的人員和模塊也越來越多,以往都是采取等各部分的開發(fā)完成后再集成產(chǎn)品的模式,如今這種弊端也越來越明顯。很多bug在集成的時候才能發(fā)現(xiàn),導(dǎo)致很難定位到問題的根源,解決問題的代價大,很有可能導(dǎo)致項目失敗。
引入持續(xù)集成可以減少風險、減少重復(fù)過程、增強項目的可見性。一天中進行多次的集成,并做了相應(yīng)的測試,這樣有利于檢查缺陷,了解軟件的健康狀況,減少假定。通過自動化的工具,可以將集成工作自動化,無需太多人工的干預(yù)。還可以對每次代碼的變化或者集成的結(jié)果進行分析,有效的縮小了問題定位的范圍。這樣,開發(fā)團隊清楚的知道每一次構(gòu)建的結(jié)果,他們知道他們對軟件的改動造成了哪些影響,結(jié)果怎么樣,增強了開發(fā)團隊對開發(fā)產(chǎn)品的信心。目前企業(yè)級應(yīng)用主流的持續(xù)集成平臺是Jenkins(前身是Hudson)。它提供統(tǒng)一的界面配置,將代碼服務(wù)器、構(gòu)建、代碼檢測、測試、報表、打包、部署等一系列軟件開發(fā)過程自動化、配置化。
在Jenkins上部署自動構(gòu)建環(huán)境,通過設(shè)置Jenkins構(gòu)建計劃對Android應(yīng)用程序定時構(gòu)建并將結(jié)果通知給開發(fā)和集成人員,把編譯成功的安裝程序文件發(fā)布出來。一般構(gòu)建時間設(shè)置為凌晨0點-2點之間,此時服務(wù)器資源處于閑置狀態(tài),不會對開發(fā)人員造成影響。當?shù)竭_該構(gòu)建時間時,將最新的Android源碼下載到本地,其中,最新的Android源碼可以來自第三方開發(fā)商源碼服務(wù)器或者自己公司服務(wù)器。
本實施例中,通過Jenkins進行自動化構(gòu)建,簡化了應(yīng)用集成人員對應(yīng)用編譯集成的操作,同時開發(fā)人員也可以一鍵構(gòu)建,快速檢測自己代碼編譯方面的問題。
進一步地,參照圖7,為本發(fā)明Android應(yīng)用程序構(gòu)建系統(tǒng)的第三實施例,在上述Android應(yīng)用程序構(gòu)建系統(tǒng)第一或第二實施例的基礎(chǔ)上,所述Android應(yīng)用程序構(gòu)建系統(tǒng)還包括:
版本信息獲取模塊500,用于獲取當前對所述源碼進行編譯的版本信息,并將所述版本信息保存成文本文件;
文本文件打包模塊600,用于將所述文本文件打包至所述安裝程序文件。
具體地,通過腳本獲取當前編譯時的版本信息,并將該版本信息以文本文件的形式(比如svninfo.txt)放在Android應(yīng)用程序的assets目錄,然后直接打包進安裝程序文件,即APK文件,只要拿到APK文件解壓后就可獲取到Android應(yīng)用程序的版本信息。
本實施例中,將Android應(yīng)用程序的版本信息打包進APK,方便開發(fā)人員快速準確查找應(yīng)用相關(guān)的信息,避免了開發(fā)人員因APK版本不清楚所造成的困惑,減少了溝通成本,提高了工作效率。
進一步地,參照圖8,為本發(fā)明Android應(yīng)用程序構(gòu)建系統(tǒng)的第四實施例,基于本發(fā)明Android應(yīng)用程序構(gòu)建系統(tǒng)的第三實施例,所述Android應(yīng)用程序構(gòu)建系統(tǒng)還包括:
發(fā)布信息接收模塊700,用于接收服務(wù)器返回的所述安裝程序文件發(fā)布的進度信息和狀態(tài)信息。
可以理解的是,向服務(wù)器發(fā)布安裝程序文件后,會接收一個安裝程序文件發(fā)布的進度信息和狀態(tài)信息,以使開發(fā)人員等相關(guān)人員知曉項目發(fā)布的進度和狀態(tài)。狀態(tài)信息可以是字符串標記,比如Success、Failure等。若安裝程序文件發(fā)布成功,接收字符串標記Success;若安裝程序文件發(fā)布失敗,接收字符串標記Failure。當發(fā)布失敗時,開發(fā)人員可以及時重新發(fā)布或修改代碼,以保證發(fā)布成功。
進一步地,參照圖9,為本發(fā)明Android應(yīng)用程序構(gòu)建系統(tǒng)的第五實施例,基于本發(fā)明Android應(yīng)用程序構(gòu)建系統(tǒng)的第四實施例,所述Android應(yīng)用程序構(gòu)建系統(tǒng)還包括:
安裝程序文件查找模塊800,用于當所述狀態(tài)信息為發(fā)布失敗時,根據(jù)所述版本信息查找所述Android源碼。
具體地,當接收到服務(wù)器返回發(fā)布失敗的狀態(tài)信息時,解析安裝程序文件即可獲知當前發(fā)布的Android應(yīng)用程序的版本信息,從而根據(jù)該版本信息查找相關(guān)Android源碼以便修改重新發(fā)布。
以上僅為本發(fā)明的可選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。