本公開一般涉及電子系統(tǒng)的應(yīng)用程序升級(jí)技術(shù)領(lǐng)域,具體涉及用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的方法和裝置。
背景技術(shù):
目前安卓(android)系統(tǒng)在各種便攜式設(shè)備—例如,手機(jī),汽車,平板電腦等—上支持越來越多的應(yīng)用程序提供的功能。車載安卓系統(tǒng)支持的功能也日趨多樣化。智能車載系統(tǒng)大部分是基于安卓操作系統(tǒng),系統(tǒng)支持安裝各種功能的應(yīng)用,比如導(dǎo)航,音樂,電子狗等。
然而,安卓系統(tǒng)上的這些應(yīng)用程序會(huì)隨著功能變更或者問題修復(fù)需要進(jìn)行升級(jí)更新。但是,在車載環(huán)境中,車載電子系統(tǒng)會(huì)因?yàn)檐囕v的啟動(dòng)或停止,或者車輛熄火等各種意外情況而導(dǎo)致系統(tǒng)斷電,而車載安卓系統(tǒng)本身并未考慮在應(yīng)用程序安裝過程中出現(xiàn)這些意外情況,無法解決應(yīng)用程序更新升級(jí)過程中出現(xiàn)斷電而導(dǎo)致的應(yīng)用程序不可用、或者應(yīng)用程序的更新數(shù)據(jù)丟失的情況。這給車載安卓系統(tǒng)的正常運(yùn)行,尤其是跟車輛安全行駛或?qū)Ш较嚓P(guān)的應(yīng)用程序的應(yīng)用帶來風(fēng)險(xiǎn)。
技術(shù)實(shí)現(xiàn)要素:
鑒于現(xiàn)有技術(shù)中的上述缺陷或不足,期望提供一種車載安卓系統(tǒng)上應(yīng)用程序的升級(jí)與恢復(fù)機(jī)制,保證應(yīng)用程序在斷電等異常情況下能夠恢復(fù)并順利完成應(yīng)用升級(jí),保證用戶使用體驗(yàn)不受影響。
在下文中給出關(guān)于本發(fā)明的簡要概述,以便提供關(guān)于本發(fā)明的某些方面的基本理解。應(yīng)當(dāng)理解,這個(gè)概述并不是關(guān)于本發(fā)明的窮舉性概述。它并不是意圖確定本發(fā)明的關(guān)鍵或重要部分,也不是意圖限定本發(fā)明的范圍。其目的僅僅是以簡化的形式給出某些概念,以此作為稍后論述的更詳細(xì)描述的前序。
第一方面,本發(fā)明提供一種用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的方法,包括以下步驟:
如果監(jiān)聽到車載安卓系統(tǒng)的啟動(dòng)事件,則啟動(dòng)升級(jí)管理服務(wù);
所述升級(jí)管理服務(wù)對(duì)第一應(yīng)用程序及其更新安裝包進(jìn)行解析,
得到所述第一應(yīng)用程序的版本號(hào)和所述更新安裝包的版本號(hào);如果所述車載安卓系統(tǒng)中,所述第一應(yīng)用程序的版本號(hào)與所述更新安裝包的版本號(hào)相同,則進(jìn)一步判斷所述第一應(yīng)用程序是否為正常安裝;
如果所述第一應(yīng)用程序非正常安裝,對(duì)所述第一應(yīng)用程序進(jìn)行恢復(fù)升級(jí)。
第二方面,本發(fā)明提供一種用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的裝置,包括:
系統(tǒng)守護(hù)單元,配置用于如果監(jiān)聽到車載安卓系統(tǒng)啟動(dòng),則啟動(dòng)升級(jí)管理服務(wù),所述升級(jí)管理服務(wù)對(duì)第一應(yīng)用程序及其更新安裝包進(jìn)行解析,得到所述第一應(yīng)用程序的版本號(hào)和所述更新安裝包的版本號(hào);
應(yīng)用檢查單元,配置用于如果所述車載安卓系統(tǒng)中,所述第一應(yīng)用程序的版本號(hào)與所述更新安裝包的版本號(hào)相同,則進(jìn)一步判斷所述第一應(yīng)用程序是否為正常安裝;以及
升級(jí)包管理單元,配置用于如果所述第一應(yīng)用程序?yàn)榉钦0惭b,則對(duì)所述第一應(yīng)用程序進(jìn)行恢復(fù)升級(jí)。
第三方面,本發(fā)明還提供一種設(shè)備,所述設(shè)備包括:
一個(gè)或多個(gè)處理器;
存儲(chǔ)裝置,用于存儲(chǔ)一個(gè)或多個(gè)程序,
當(dāng)所述一個(gè)或多個(gè)程序被所述一個(gè)或多個(gè)處理器執(zhí)行,使得所述一個(gè)或多個(gè)處理器實(shí)現(xiàn)根據(jù)本發(fā)明各實(shí)施例所述的方法。
第四方面,本發(fā)明還提供一種存儲(chǔ)有計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)根據(jù)本發(fā)明各實(shí)施例的方法。
根據(jù)本發(fā)明諸多實(shí)施例提供的用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的方法和裝置,通過監(jiān)聽車載安卓系統(tǒng)的啟動(dòng)事件,檢查應(yīng)用程序的非正常安裝進(jìn)而進(jìn)行恢復(fù)升級(jí),避免由意外斷電導(dǎo)致的應(yīng)用程序不可用或者應(yīng)用程序的更新數(shù)據(jù)丟失的情況,保證用戶使用體驗(yàn)不受影響。
根據(jù)本發(fā)明一些實(shí)施例提供的用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的方法和裝置,進(jìn)一步通過解析所述第一應(yīng)用程序的manifest文件,獲知第一應(yīng)用程序的版本號(hào)及文件列表,加快恢復(fù)應(yīng)用程序的可用性。
根據(jù)本發(fā)明一些實(shí)施例提供的用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的方法和裝置,進(jìn)一步通過解析所述更新安裝包的manifest文件獲知第一應(yīng)用程序的更新版本號(hào)及完整文件列表,加快恢復(fù)應(yīng)用程序的可用性。
根據(jù)本發(fā)明一些實(shí)施例提供的用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的方法和裝置,進(jìn)一步通過檢查如果車載安卓系統(tǒng)中第一應(yīng)用程序的版本號(hào)與更新安裝包的版本號(hào)不同而對(duì)第一應(yīng)用程序進(jìn)行更新升級(jí),保證了應(yīng)用程序的及時(shí)更新。
附圖說明
參照下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例的說明,會(huì)更加容易地理解本發(fā)明的以上和其它目的、特點(diǎn)和優(yōu)點(diǎn)。附圖中的部件只是為了示出本發(fā)明的原理。在附圖中,相同的或類似的技術(shù)特征或部件將采用相同或類似的附圖標(biāo)記來表示。
圖1示出根據(jù)本發(fā)明一個(gè)實(shí)施例的用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的方法的流程圖;
圖2示出根據(jù)本發(fā)明一個(gè)實(shí)施例的用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的裝置的方框圖;
圖3示出示出根據(jù)本發(fā)明一個(gè)實(shí)施例的一種設(shè)備的結(jié)構(gòu)方框圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本申請(qǐng)作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋相關(guān)發(fā)明,而非對(duì)該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與發(fā)明相關(guān)的部分。
需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本申請(qǐng)。
通常,車載安卓系統(tǒng)在應(yīng)用程序安裝完成后,即將應(yīng)用程序的安裝文件進(jìn)行備份。這樣,就為下次應(yīng)用程序不能正常啟動(dòng)時(shí)預(yù)留了安裝資源。對(duì)于應(yīng)用程序的安裝更新包也是如此,每次安裝完更新安裝包,即將安裝更新包進(jìn)行備份。
還可以在得到更新安裝包時(shí),先進(jìn)行更新安裝包的備份,再進(jìn)行更新安裝包的安裝。這樣有利于即使在安裝該最新的更新安裝包的過程中遇到斷電故障,也能保證在斷電恢復(fù),車載安卓系統(tǒng)重新啟動(dòng)后升級(jí)到最新的更新安裝包。
但是,在遇到車載安卓系統(tǒng)意外斷電后,應(yīng)用程序可能因斷電造成的安裝文件的缺損而不能正常啟動(dòng)。
圖1示出根據(jù)本發(fā)明一個(gè)實(shí)施例的用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的方法的流程圖。為了說明簡便,圖1中省略了相對(duì)于本發(fā)明不重要的處理細(xì)節(jié)分支。
如圖1所示,在該實(shí)施例中,本發(fā)明提供一種用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的方法,包括以下步驟:
s10:如果監(jiān)聽到車載安卓系統(tǒng)的啟動(dòng)事件,則啟動(dòng)升級(jí)管理服務(wù);
s20:升級(jí)管理服務(wù)對(duì)第一應(yīng)用程序及其更新安裝包進(jìn)行解析,得到第一應(yīng)用程序的版本號(hào)和所述更新安裝包的版本號(hào);
s30:如果車載安卓系統(tǒng)中,第一應(yīng)用程序的版本號(hào)與更新安裝包的版本號(hào)相同,
s40:則進(jìn)一步判斷第一應(yīng)用程序是否為正常安裝;
s50:如果第一應(yīng)用程序非正常安裝,則對(duì)第一應(yīng)用程序進(jìn)行恢復(fù)升級(jí)。
根據(jù)本實(shí)施例,在步驟s10中,監(jiān)聽車載安卓系統(tǒng)的再次啟動(dòng),一旦監(jiān)聽到車載安卓系統(tǒng)的啟動(dòng)事件,即啟動(dòng)第一應(yīng)用程序的升級(jí)管理服務(wù)。因其是安卓系統(tǒng)在后臺(tái)運(yùn)行的服務(wù)程序,無需用戶干預(yù),因而升級(jí)過程將不影響用戶對(duì)應(yīng)用程序的使用體驗(yàn)。
在步驟s50中,判斷第一應(yīng)用程序?yàn)榉钦0惭b,是指當(dāng)前第一應(yīng)用程序的安裝文件不完整,無法正常啟動(dòng)該應(yīng)用程序。恢復(fù)升級(jí)執(zhí)行的是與斷電前使用的第一應(yīng)用程序的版本號(hào)相同版本的更新安裝包的安裝。
根據(jù)本實(shí)施例的一種優(yōu)選實(shí)施方式,升級(jí)管理服務(wù)對(duì)第一應(yīng)用程序及其更新安裝包進(jìn)行解析,包括:解析第一應(yīng)用程序的manifest文件,該manifest文件中具有第一應(yīng)用程序的版本號(hào)及文件列表。
根據(jù)本實(shí)施例的一種優(yōu)選實(shí)施方式,升級(jí)管理服務(wù)對(duì)第一應(yīng)用程序及其更新安裝包進(jìn)行解析,解析更新安裝包的manifest文件,該manifest文件中具有第一應(yīng)用程序的更新版本號(hào)及完整文件列表。
在本實(shí)施例中,根據(jù)本實(shí)施例的一種優(yōu)選實(shí)施方式,判斷第一應(yīng)用程序是否為正常安裝,包括:將第一應(yīng)用程序的文件列表與完整文件列表進(jìn)行比對(duì),確定所述第一應(yīng)用程序是否有缺失文件;如果有缺失文件,則為非正常安裝。
在本實(shí)施例中,對(duì)于任一優(yōu)選的實(shí)施方式,如果在車載安卓系統(tǒng)中檢查發(fā)現(xiàn)第一應(yīng)用程序的版本號(hào)與更新安裝包的版本號(hào)不同,則根據(jù)更新安裝包對(duì)第一應(yīng)用程序進(jìn)行更新升級(jí)。這有利于斷電故障恢復(fù)后安卓系統(tǒng)及時(shí)更新到最新的更新安裝包。
根據(jù)本發(fā)明諸多實(shí)施例提供的用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的方法,通過監(jiān)聽車載安卓系統(tǒng)的啟動(dòng)事件,檢查應(yīng)用程序的非正常安裝進(jìn)而進(jìn)行恢復(fù)升級(jí),避免由意外斷電導(dǎo)致的應(yīng)用程序不可用或者應(yīng)用程序的更新數(shù)據(jù)丟失的情況,保證用戶使用體驗(yàn)不受影響。
根據(jù)本發(fā)明一些實(shí)施例提供的用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的方法,進(jìn)一步通過解析所述第一應(yīng)用程序的manifest文件,獲知第一應(yīng)用程序的版本號(hào)及文件列表,加快恢復(fù)應(yīng)用程序的可用性。
根據(jù)本發(fā)明一些實(shí)施例提供的用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的方法,進(jìn)一步通過解析所述更新安裝包的manifest文件獲知第一應(yīng)用程序的更新版本號(hào)及完整文件列表,加快恢復(fù)應(yīng)用程序的可用性。
根據(jù)本發(fā)明一些實(shí)施例提供的用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的方法,進(jìn)一步通過檢查如果車載安卓系統(tǒng)中第一應(yīng)用程序的版本號(hào)與更新安裝包的版本號(hào)不同而對(duì)第一應(yīng)用程序進(jìn)行更新升級(jí),保證了應(yīng)用程序的及時(shí)更新。
本發(fā)明還提供一種用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的裝置。
圖2示出根據(jù)本發(fā)明一個(gè)實(shí)施例的用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的裝置的結(jié)構(gòu)示意圖,包括:
系統(tǒng)守護(hù)單元220,配置用于如果監(jiān)聽到車載安卓系統(tǒng)啟動(dòng),則啟動(dòng)升級(jí)管理服務(wù),升級(jí)管理服務(wù)對(duì)第一應(yīng)用程序及其更新安裝包進(jìn)行解析,得到第一應(yīng)用程序的版本號(hào)和更新安裝包的版本號(hào);
應(yīng)用檢查單元240,配置用于如果車載安卓系統(tǒng)中,第一應(yīng)用程序的版本號(hào)與更新安裝包的版本號(hào)相同,則進(jìn)一步判斷第一應(yīng)用程序是否為正常安裝;以及
升級(jí)包管理單元260,配置用于如果第一應(yīng)用程序?yàn)榉钦0惭b,則對(duì)所述第一應(yīng)用程序進(jìn)行恢復(fù)升級(jí)。
圖2所示的裝置可執(zhí)行圖1對(duì)應(yīng)的方法。
根據(jù)本實(shí)施例的一種優(yōu)選實(shí)施方式,升級(jí)管理服務(wù)對(duì)第一應(yīng)用程序及其更新安裝包進(jìn)行解析,包括:解析第一應(yīng)用程序的manifest文件,該manifest文件中具有第一應(yīng)用程序的版本號(hào)及文件列表。
根據(jù)本實(shí)施例的一種優(yōu)選實(shí)施方式,升級(jí)管理服務(wù)對(duì)第一應(yīng)用程序及其更新安裝包進(jìn)行解析,包括:
解析更新安裝包的manifest文件,該manifest文件中具有第一應(yīng)用程序的更新版本號(hào)及完整文件列表。
根據(jù)本實(shí)施例的一種優(yōu)選實(shí)施方式,判斷第一應(yīng)用程序是否為正常安裝包括:將第一應(yīng)用程序的文件列表與完整文件列表進(jìn)行比對(duì),確定第一應(yīng)用程序是否有缺失文件;如果有缺失文件,則為非正常安裝。
根據(jù)本實(shí)施例的上述任一種優(yōu)選實(shí)施方式,如果車載安卓系統(tǒng)中,第一應(yīng)用程序的版本號(hào)與更新安裝包的版本號(hào)不同,則所述裝置還配置用于:根據(jù)更新安裝包對(duì)第一應(yīng)用程序進(jìn)行更新升級(jí)。
作為另一方面,本發(fā)明還提供一種設(shè)備300。如圖3所示,本申請(qǐng)?zhí)峁┮环N設(shè)備300,包括一個(gè)或多個(gè)中央處理單元(cpu)301,其可以根據(jù)存儲(chǔ)在只讀存儲(chǔ)器(rom)302中的程序或者從存儲(chǔ)部分308加載到隨機(jī)訪問存儲(chǔ)器(ram)303中的程序而執(zhí)行各種適當(dāng)?shù)膭?dòng)作和處理。當(dāng)程序被一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得一個(gè)或多個(gè)處理器實(shí)現(xiàn)根據(jù)上述任一實(shí)施例的方法。
在ram303中,還存儲(chǔ)有設(shè)備300操作所需的各種程序和數(shù)據(jù)。cpu301、rom302以及ram303通過總線304彼此相連。輸入/輸出(i/o)接口305也連接至總線304。
以下部件連接至i/o接口305:包括鍵盤、鼠標(biāo)等的輸入部分306;包括諸如陰極射線管(crt)、液晶顯示器(lcd)等以及揚(yáng)聲器等的輸出部分307;包括硬盤等的存儲(chǔ)部分308;以及包括諸如lan卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分309。通信部分309經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動(dòng)器310也根據(jù)需要連接至i/o接口305。可拆卸介質(zhì)311,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲(chǔ)器等等,根據(jù)需要安裝在驅(qū)動(dòng)器310上,以便于從其上讀出的計(jì)算機(jī)程序根據(jù)需要被安裝入存儲(chǔ)部分308。
特別地,根據(jù)本公開的實(shí)施例,上述任一實(shí)施例描述的用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的方法可以被實(shí)現(xiàn)為計(jì)算機(jī)軟件程序。例如,本公開的實(shí)施例包括一種計(jì)算機(jī)程序產(chǎn)品,其包括有形地包含在機(jī)器可讀介質(zhì)上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包含用于執(zhí)行用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)方法的程序代碼。在這樣的實(shí)施例中,該計(jì)算機(jī)程序可以通過通信部分309從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)311被安裝。
作為又一方面,本申請(qǐng)還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是上述實(shí)施例的裝置中所包含的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì);也可以是單獨(dú)存在,未裝配入設(shè)備中的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有一個(gè)或者一個(gè)以上程序,該程序被一個(gè)或者一個(gè)以上的處理器用來執(zhí)行描述于本申請(qǐng)的用于車載安卓系統(tǒng)的應(yīng)用程序升級(jí)的方法。
以上實(shí)施例中,是針對(duì)車載安卓系統(tǒng)的應(yīng)用程序升級(jí)而進(jìn)行的說明。本領(lǐng)域技術(shù)人員可以理解,這種安卓系統(tǒng)的應(yīng)用程序升級(jí)方法和裝置也可以用于其它對(duì)硬件故障敏感的移動(dòng)或便攜式安卓應(yīng)用系統(tǒng),例如船載安卓系統(tǒng)、工業(yè)控制用安卓系統(tǒng)領(lǐng)域或智能控制用安卓系統(tǒng)領(lǐng)域。
附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段、或代碼的一部分,該模塊、程序段、或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這根據(jù)所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以通過執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以通過專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
描述于本申請(qǐng)實(shí)施例中所涉及到的單元或模塊可以通過軟件的方式實(shí)現(xiàn),也可以通過硬件的方式來實(shí)現(xiàn)。所描述的單元或模塊也可以設(shè)置在處理器中,例如,各所述單元可以是設(shè)置在計(jì)算機(jī)或移動(dòng)智能設(shè)備中的軟件程序,也可以是單獨(dú)配置的硬件裝置。其中,這些單元或模塊的名稱在某種情況下并不構(gòu)成對(duì)該單元或模塊本身的限定。
以上描述僅為本申請(qǐng)的較佳實(shí)施例以及對(duì)所運(yùn)用技術(shù)原理的說明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請(qǐng)中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時(shí)也應(yīng)涵蓋在不脫離本申請(qǐng)構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進(jìn)行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請(qǐng)中公開的(但不限于)具有類似功能的技術(shù)特征進(jìn)行互相替換而形成的技術(shù)方案。