本發(fā)明涉及智能數(shù)字視頻終端的軟件編譯系統(tǒng)維護領(lǐng)域,具體涉及一種在軟件編譯時檢查應(yīng)用信息的方法。
背景技術(shù):
智能電視搭載的應(yīng)用日益豐富,給用戶使用和操作帶來了海量視頻的操作舒適感。但在電視產(chǎn)品的開發(fā)端,應(yīng)用的維護工作量對應(yīng)日趨增加。不同的機芯軟件,存在系統(tǒng)配置和功能的差異,搭載的應(yīng)用需要配合不同的版本。平均每個機器上搭載的應(yīng)用有60-70個,很多應(yīng)用包名和版本都有差異,這增加了電視端應(yīng)用apk的管理難度;在迭代發(fā)布整機軟件時,發(fā)出的差分升級包也涉及到多個整機版本之間的應(yīng)用信息變更,要保證應(yīng)用apk信息的完全正確,管控難度會成幾何倍數(shù)增加。
電視軟件在編譯時涉及到應(yīng)用的問題較多,比如當(dāng)前版本的應(yīng)用a簽名和上一版本的簽名發(fā)生變化,應(yīng)用a在后續(xù)迭代時會因為簽名不符合無法升級;如果應(yīng)用包名發(fā)生變化,在進行軟件迭代時,系統(tǒng)會把它們按照兩個不同的應(yīng)用進行處理,導(dǎo)致難以預(yù)料的問題;apk的增加和刪改后,差分包沒有跟隨調(diào)整等等。
隨著整機搭載的應(yīng)用數(shù)量增多,軟件迭代的速度加快,如何保證機芯軟件的正確性和前后版本的一致性,有效校對應(yīng)用狀態(tài)成為提升軟件的發(fā)布穩(wěn)定性的關(guān)鍵因素之一。
目前的處理方法通常是兩種:
軟件編譯前采用人工比對,有些機芯的應(yīng)用在接口人員更換后很難清楚原來的狀態(tài),數(shù)據(jù)信息的有效性隨著人員的變更出現(xiàn)了不確定;
軟件編譯后進行黑盒測試,由測試人員全面檢查,這種情況會增加軟件發(fā)布的測試周期,同時人工因素很難保證其準(zhǔn)確性。
技術(shù)實現(xiàn)要素:
本發(fā)明克服了現(xiàn)有技術(shù)的不足,提供一種在軟件編譯時檢查應(yīng)用信息的方法。在軟件編譯中,有效檢查apk狀態(tài)的方案,校對本次編譯版本的每個應(yīng)用和上一版本的應(yīng)用的差異性,包括應(yīng)用的包名、versioncode、versioname和簽名,任何一個信息變動都將前后的狀態(tài)進行明確,并及時郵件發(fā)送給項目經(jīng)理、應(yīng)用負(fù)責(zé)人、測試經(jīng)理和應(yīng)用管控人員進行信息確認(rèn),可靠保證應(yīng)用信息的正確,提升軟件編譯的有效。
為解決上述的技術(shù)問題,本發(fā)明采用以下技術(shù)方案:
一種在軟件編譯時檢查應(yīng)用信息的方法,所述方法包括以下步驟:
步驟一、在軟件編譯同時獲取應(yīng)用的準(zhǔn)確信息;
步驟二、將不同版本的應(yīng)用信息進行比對,并生成比對文件。
步驟三、將比對文件通過郵件發(fā)送至預(yù)定位置進行數(shù)據(jù)校對。
更進一步的技術(shù)方案是所述步驟一包括:在編譯程序服務(wù)器中增加一個腳本,該腳本調(diào)用getapkinfo,使文件執(zhí)行時,對管控目錄下的apk進行檢查,檢查后的信息生成在currapkinfos.xml中,編譯代碼后,currapkinfo.xml保存為lastapkinfos.xml文件,下次編譯時,將基于lastapkinfos.xml進行對比。
更進一步的技術(shù)方案是當(dāng)量產(chǎn)情況時,則將上一個版本的currapkinfos.xml文件復(fù)制為當(dāng)前量產(chǎn)版本的lastapkinfos.xml文件。
更進一步的技術(shù)方案是所述的步驟二包括:將所述lastapkinfos.xml文件和currapkinfos.xml文件的比較結(jié)果寫入文檔,待編譯完成后,生成比對文件。
更進一步的技術(shù)方案是所述的應(yīng)用信息為調(diào)用安卓原生的getapkinfo獲取的信息。
更進一步的技術(shù)方案是所述的步驟一包括:在軟件編譯同時,同步獲取應(yīng)用的準(zhǔn)確信息。
與現(xiàn)有技術(shù)相比,本發(fā)明實施例的有益效果之一是:采用本發(fā)明的方法可將可能發(fā)生的錯誤控制在了軟件編譯,同時郵件發(fā)送相關(guān)的人員,加強了軟件代碼的審核,有效校對了可能發(fā)生的軟件bug,規(guī)避了可能的低級錯誤,提升了軟件開發(fā)質(zhì)量。
附圖說明
圖1為本發(fā)明一個實施例的方法流程示意圖。
具體實施方式
本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。
本說明書(包括任何附加權(quán)利要求、摘要和附圖)中公開的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以替換。即,除非特別敘述,每個特征只是一系列等效或類似特征中的一個例子而已。
下面結(jié)合附圖及實施例對本發(fā)明的具體實施方式進行詳細(xì)描述。
在下面的詳細(xì)描述中,出于解釋的目的描述了許多具體描述以便能夠徹底理解所公開的實施方案,然而,很明顯一個或多個實施方式可以在不使用這些具體描述的情況下實施,在其他實例中,示意性地顯示已知結(jié)構(gòu)和裝置,以便簡化附圖。
如圖1所示,根據(jù)本發(fā)明的一個實施例,本實施例公開一種在軟件編譯時檢查應(yīng)用信息的方法,所述方法包括以下步驟:
step1、在軟件編譯同時,同步獲取應(yīng)用的準(zhǔn)確信息;具體的,在編譯程序服務(wù)器中增加一個腳本,該腳本調(diào)用getapkinfo,使文件執(zhí)行時,對管控目錄下的apk進行檢查,檢查后的信息生成在currapkinfos.xml中,編譯代碼后,currapkinfo.xml保存為lastapkinfos.xml文件,下次編譯時,將基于lastapkinfos.xml進行對比。當(dāng)量產(chǎn)情況時,則將上一個版本的currapkinfos.xml文件復(fù)制為當(dāng)前量產(chǎn)版本的lastapkinfos.xml文件。
step2、將不同版本的應(yīng)用信息進行比對,并生成比對文件。具體的,將所述lastapkinfos.xml文件和currapkinfos.xml文件的比較結(jié)果寫入文檔,待編譯完成后,生成比對文件。其中,所述應(yīng)用信息為調(diào)用安卓原生的getapkinfo獲取的信息,包括應(yīng)用包名、versioncode、versionname、簽名等。
step2、將比對文件通過郵件發(fā)送至預(yù)定位置進行數(shù)據(jù)校對。
具體的,本實施例進一步以方法應(yīng)用于938機芯的整機為例,進行詳細(xì)描述該方法。具體包括以下步驟:
步驟1,增加應(yīng)用信息提取腳本:
在編譯系統(tǒng)增加init.sh腳本,在init.sh腳本中,調(diào)用了getapkinfo,該文件執(zhí)行時,會對device/changhong/目錄下的apk進行檢查,檢查后的信息生成在device/changhong/apkinfos/currapkinfos.xml中,編譯代碼后,currapkinfo.xml會保存為lastapkinfos.xml文件,下次編譯時,將會基于lastapkinfos.xml進行對比。
步驟2,生成應(yīng)用信息比較文件:
通過對前、后兩個不同的整機版本輸出文件進行比較:對相同應(yīng)用名apk的md5碼進行比較,可看出該整機版本的哪些應(yīng)用實際發(fā)生了更新,根據(jù)包名對比,可以看到新增了哪些應(yīng)用,減少了哪些應(yīng)用,哪些應(yīng)用的apk發(fā)生了變化。
步驟3,建立郵件服務(wù)器:
當(dāng)軟件自動構(gòu)建成功時,腳本文件開始將會把前后兩個版本在編譯中產(chǎn)生的應(yīng)用信息比較文件把apkinformation.txt作為附件,把apkinformation.txt作為附件名稱,把apkinformation1.00080-79作為郵件標(biāo)題的郵件;從jekins文件里的發(fā)件人,發(fā)送到相關(guān)的收件人列表的郵箱里,具體的,本實施例中相關(guān)的收件人包括項目經(jīng)理、應(yīng)用經(jīng)理、應(yīng)用負(fù)責(zé)人、測試經(jīng)理、應(yīng)用維護人員等對軟件編譯工作具有影響作用的人員位置。
通過采用以上的電視軟件編譯方案,將可能發(fā)生的錯誤控制在了軟件編譯,同時郵件發(fā)送相關(guān)的人員,加強了軟件代碼的審核,有效校對了可能發(fā)生的軟件bug,規(guī)避了可能的低級錯誤,提升了軟件開發(fā)質(zhì)量。
在本說明書中所談到的“一個實施例”、“另一個實施例”、“實施例”等,指的是結(jié)合該實施例描述的具體特征、結(jié)構(gòu)或者特點包括在本申請概括性描述的至少一個實施例中。在說明書中多個地方出現(xiàn)同種表述不是一定指的是同一個實施例。進一步來說,結(jié)合任一個實施例描述一個具體特征、結(jié)構(gòu)或者特點時,所要主張的是結(jié)合其他實施例來實現(xiàn)這種特征、結(jié)構(gòu)或者特點也落在本發(fā)明的范圍內(nèi)。
盡管這里參照發(fā)明的多個解釋性實施例對本發(fā)明進行了描述,但是,應(yīng)該理解,本領(lǐng)域技術(shù)人員可以設(shè)計出很多其他的修改和實施方式,這些修改和實施方式將落在本申請公開的原則范圍和精神之內(nèi)。更具體地說,在本申請公開權(quán)利要求的范圍內(nèi),可以對主題組合布局的組成部件和/或布局進行多種變型和改進。除了對組成部件和/或布局進行的變型和改進外,對于本領(lǐng)域技術(shù)人員來說,其他的用途也將是明顯的。