一種Android終端及其實(shí)現(xiàn)升級的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種Android終端及其實(shí)現(xiàn)升級的方法。
【背景技術(shù)】
[0002]隨著終端制造商開發(fā)新應(yīng)用的速度越來越快,運(yùn)營商推出新業(yè)務(wù)的周期越來越短,OTA DM (Over the Air Device Management)作為一種簡便、快捷、有效的終端設(shè)備升級方式,在實(shí)際商用過程中使用也越來越頻繁。目前運(yùn)營商實(shí)際升級時使用固件空口升級技術(shù)FOTA (Firmware Update Over the Air)的應(yīng)用場景日益增加,升級方案日漸豐富,升級需求也日趨復(fù)雜。其中一大特點(diǎn)就是終端(尤其是Android智能機(jī))升級包的尺寸大小越來越大,升級越來越耗時,用戶體驗(yàn)差。針對這種弊端,如何有效的提升終端升級效率,縮短升級時間,逐漸成為亟待解決的問題。
[0003]目前業(yè)界對于Android終端的升級方法,基本上都是在進(jìn)行升級時,首先重啟設(shè)備,進(jìn)入recovery system模式,然后再采用差分升級或全版本的升級方案,分別對終端AP(應(yīng)用層)、BP (啟動層)側(cè)進(jìn)行升級。即需要在真正開始升級之前,首先暫停用戶正常使用,重啟終端;然后,再根據(jù)升級包的內(nèi)容,對終端進(jìn)行正式的升級。在升級時,需要依次對BP側(cè)及AP側(cè)進(jìn)行升級。當(dāng)二者都升級完畢后,才能啟動終端到main system狀態(tài),使得用戶可以繼續(xù)正常使用。其大致流程如圖1所示。然而,這種方式存在著如下的缺點(diǎn):在整個升級過程中,終端一直處于不可用狀態(tài),期間用戶完全不能使用。隨著升級包大小的增大,升級時間也將隨之拉長,用戶不能使用的時間也會變長,影響用戶體驗(yàn)。
[0004]綜上所述,可以看到當(dāng)前業(yè)界對于Android終端升級的主流方案,存在升級效率低,升級時用戶不可用時間長的弊端,在升級包越來越大的今天,這種弊端也越來越明顯。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種Android終端及其實(shí)現(xiàn)升級的方法,用以解決現(xiàn)有升級方案升級效率低的問題。
[0006]依據(jù)本發(fā)明的一個方面,提供一種Android終端實(shí)現(xiàn)升級的方法,包括:
[0007]解析下載的升級包,提取出應(yīng)用層AP側(cè)的升級包文件和啟動層BP側(cè)的升級包文件;
[0008]利用所述AP側(cè)的升級包文件,對AP側(cè)的待升級文件進(jìn)行升級,并在設(shè)定的BP側(cè)升級觸發(fā)條件被觸發(fā)時,重啟終端,利用所述BP側(cè)的升級包文件,對BP側(cè)的待升級文件進(jìn)行升級。
[0009]可選地,本發(fā)明所述方法中,所述下載的升級包內(nèi)包含AP側(cè)的升級包文件和BP側(cè)的升級包文件,且兩個升級包文件間使用分隔標(biāo)識符隔開,以便于終端按類提取。
[0010]可選地,本發(fā)明所述方法中,所述AP側(cè)的升級包文件中包含一個或多個需要升級的AP側(cè)文件,每個需要升級的AP側(cè)文件均按照文件的路徑、名稱、以及待升級內(nèi)容信息依次封裝,且在封裝時,在每個信息前后添加開始和結(jié)束標(biāo)識符。
[0011]可選地,本發(fā)明所述方法中,所述設(shè)定的BP側(cè)升級觸發(fā)條件包括:終端處于空閑狀態(tài)時、用戶主動發(fā)起對BP側(cè)進(jìn)行升級時、或者在AP側(cè)完成升級時。
[0012]可選地,本發(fā)明所述方法還包括:當(dāng)BP側(cè)升級失敗時,將AP側(cè)回退到升級前的狀態(tài)。
[0013]依據(jù)本發(fā)明的另一個方面,還提供一種Android終端,包括:
[0014]升級包解析模塊,用于解析下載的升級包,提取出應(yīng)用層AP側(cè)的升級包文件和啟動層BP側(cè)的升級包文件;
[0015]升級模塊,用于利用所述AP側(cè)的升級包文件,對AP側(cè)的待升級文件進(jìn)行升級,并在設(shè)定的BP側(cè)升級觸發(fā)條件被觸發(fā)時,重啟終端,利用所述BP側(cè)的升級包文件,對BP側(cè)的待升級文件進(jìn)行升級。
[0016]可選地,本發(fā)明所述終端中,所述下載的升級包內(nèi)包含AP側(cè)的升級包文件和BP側(cè)的升級包文件,且兩個升級包文件間使用分隔標(biāo)識符隔開,以便于終端按類提取。
[0017]可選地,本發(fā)明所述終端中,所述AP側(cè)的升級包文件中包含一個或多個需要升級的AP側(cè)文件,每個需要升級的AP側(cè)文件均按照文件的路徑、名稱、以及待升級內(nèi)容信息依次封裝,且在封裝時,在每個信息前后添加開始和結(jié)束標(biāo)識符。
[0018]可選地,本發(fā)明所述終端中,所述升級模塊中設(shè)定的BP側(cè)升級觸發(fā)條件包括:終端處于空閑狀態(tài)時、用戶主動發(fā)起對BP側(cè)進(jìn)行升級時、或者在AP側(cè)完成升級時。
[0019]可選地,本發(fā)明所述終端中,所述升級模塊,還用于當(dāng)BP側(cè)升級失敗時,將AP側(cè)回退到升級前的狀態(tài)。
[0020]本發(fā)明有益效果如下:
[0021]本發(fā)明所述方案將Android終端升級包拆分為AP側(cè)升級包和BP側(cè)升級包,使得在對Android終端進(jìn)行升級時,可以將AP側(cè)先在后臺進(jìn)行升級,然后再重啟終端升級BP偵牝這種升級方式不僅提升了升級效率,同時還減少了終端的不可用時間。
【附圖說明】
[0022]通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0023]圖1為現(xiàn)有技術(shù)中Android終端升級流程圖;
[0024]圖2為本發(fā)明提供的一種Android終端實(shí)現(xiàn)升級的方法的流程圖;
[0025]圖3為本發(fā)明中升級包的結(jié)構(gòu)圖;
[0026]圖4為本發(fā)明中AP側(cè)升級包文件的結(jié)構(gòu)圖;
[0027]圖5為本發(fā)明應(yīng)用示例中升級流程圖;
[0028]圖6為本發(fā)明提供的一種Android終端的結(jié)構(gòu)框圖;
[0029]圖7為本發(fā)明提供的一種Android終端的又一結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0030]下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0031]本發(fā)明實(shí)施例提供一種Android終端實(shí)現(xiàn)升級的方法,如圖2所示,所述方法包括:
[0032]步驟S201,解析下載的升級包,提取出AP側(cè)的升級包文件和BP側(cè)的升級包文件;
[0033]步驟S202,利用所述AP側(cè)的升級包文件,對AP側(cè)的待升級文件進(jìn)行升級;
[0034]步驟S203,在設(shè)定的BP側(cè)升級觸發(fā)條件被觸發(fā)時,重啟終端,利用所述BP側(cè)的升級包文件,對BP側(cè)的待升級文件進(jìn)行升級。
[0035]該步驟中,所述設(shè)定的BP側(cè)升級觸發(fā)條件包括但不限于為:終端處于空閑狀態(tài)時、用戶主動發(fā)起對BP側(cè)進(jìn)行升級時、或者在AP側(cè)完成升級時。優(yōu)選地觸發(fā)條件為“終端處于空閑狀態(tài)時”,這樣可以最小程度的影響用戶使用。
[0036]進(jìn)一步地,該步驟中,當(dāng)BP側(cè)升級失敗時,將AP側(cè)回退到升級前的狀態(tài),以保證終端升級的一致性。
[0037]綜上所述,可知本發(fā)明所述方法將Android終端升級包拆分為AP側(cè)升級包和BP側(cè)升級包,使得在對Android終端進(jìn)行升級時,可以將AP側(cè)先在后臺進(jìn)行升級,然后再在適當(dāng)?shù)臅r機(jī)重啟終端升級BP側(cè),這種升級方式不僅提升了升級效率,同時還減少了終端的不可用時間。
[0038]基于上述實(shí)施原理,下面給出在上述方法下的幾個優(yōu)選實(shí)施方式,用以優(yōu)化本發(fā)明所述方法的實(shí)施過程,具體涉及如下內(nèi)容:
[0039]本實(shí)施例中,所述的升級包為Android終端在服務(wù)器端下載的升級包。本發(fā)明中,為了使Android終端方便地提取出AP側(cè)的升級包文件和BP側(cè)的升級包文件,優(yōu)選地,將升級包分成兩部分,一部分為AP側(cè)的升級包文件,另一部分為BP側(cè)的升級包文件,且兩部分間用分隔標(biāo)識符隔開。具體結(jié)構(gòu)如圖3所示。
[0040]當(dāng)然,上述升級包的結(jié)構(gòu)僅是一種較優(yōu)地實(shí)施方式,為了便于Android終端按類提取升級包,還可以通過對不同類型的升級包文件進(jìn)行標(biāo)注的方式來實(shí)現(xiàn)。本實(shí)施例在此不對所有方式進(jìn)行窮舉,但本領(lǐng)域技術(shù)人員容易想到的任何便于終端提取出AP側(cè)升級包和BP側(cè)升級包的方式均在本發(fā)明的保護(hù)思想范圍內(nèi)。
[0041]進(jìn)一步地,為了在實(shí)際升級過程中能更好的掌控AP升級的進(jìn)度,本實(shí)施例中還給出一種新型的AP側(cè)升級包文件的結(jié)構(gòu)形式,具體為:所述AP側(cè)的升級包文件中包含一個或多個需要升級的AP側(cè)文件,每個需要升級的AP側(cè)文件均按照文件的路徑、名稱、以及待升級內(nèi)容信息依次封裝,且在封裝時,在每個信息前后添加開始和結(jié)束標(biāo)識符。具體結(jié)構(gòu)如圖4所示。
[0042]也就是說,在實(shí)際升級場景下,AP側(cè)可能有多個應(yīng)用需要升級,在升級過程中,可能存在