本發(fā)明實(shí)施例涉及移動(dòng)通信領(lǐng)域,尤其涉及一種軟件版本的升級(jí)方法及設(shè)備。
背景技術(shù):
嵌入式產(chǎn)品已經(jīng)日益普及,尤其是隨著可便攜式電子裝置逐漸盛行,如個(gè)人數(shù)字助理(Personal Digital Assistant,PDA)、功能手機(jī)(Feature Phone)、智能手機(jī)(Smart Phone)、平板電腦(Tablet Personal Computer)等,使得嵌入式產(chǎn)品成為日常生活中不可缺少的一部分。
嵌入式產(chǎn)品出廠前均需通過(guò)相應(yīng)的軟件版本升級(jí)方法在其存儲(chǔ)器(比如:NAND FLASH、EMMC等)內(nèi)預(yù)置軟體,以保證嵌入式產(chǎn)品能正常工作。另一方面,伴隨著嵌入式產(chǎn)品所用操作系統(tǒng)復(fù)雜程度越來(lái)越高,使得嵌入式產(chǎn)品很難一步到位地調(diào)試到極其穩(wěn)定和健壯;再者,用戶對(duì)嵌入式產(chǎn)品的需求變更也越來(lái)越頻繁,使得嵌入式產(chǎn)品本身以及嵌入式產(chǎn)品所用操作系統(tǒng)更新?lián)Q代的速度越來(lái)越快。這種現(xiàn)象隨著智能手機(jī)的興起和盛行顯得尤為明顯。這就意味著必須提供相應(yīng)的軟件版本升級(jí)方法供用戶和售后進(jìn)行軟件版本升級(jí)。
軟件版本升級(jí)有在線升級(jí)和非在線升級(jí)兩種方式。隨著互聯(lián)網(wǎng)的普及,現(xiàn)有軟件供應(yīng)商普遍采用在線軟件版本升級(jí)方式,系統(tǒng)架構(gòu)普遍采用客戶端/服務(wù)器(client/server,C/S)的系統(tǒng)模式,軟件更新方式主要包括兩種方式:軟件版本升級(jí)全量包方式(full amount release package,F(xiàn)ARP)與軟件版本升級(jí)增量包方式(incremental release package,IRP)。例如針對(duì)安卓系統(tǒng),F(xiàn)ARP是指升級(jí)整個(gè)安卓軟件APK(Android Package,安卓軟件安裝文件),客戶端將升級(jí)后的應(yīng)用APK下載到本地,打開(kāi)APK文件時(shí),安卓系統(tǒng)會(huì)自動(dòng)調(diào)用安裝程序。IRP是指如果新軟件版本只是新增了某個(gè)功能,客戶端會(huì)在原APK程序基礎(chǔ)上下載一個(gè)增量APK并安裝,達(dá)到更新軟件版本的目的。顯然,增量APK比原APK體積小,升級(jí)速度更快、效率更高,也更加節(jié)省軟硬件資源。
可是,IRP適用的前提條件是因?yàn)樵隽緼PK屬于可執(zhí)行文件,但是對(duì)于安卓系統(tǒng)中的JAR包(JAVA Archive,JAVA歸檔文件),因?yàn)镴AR包屬于非可執(zhí)行的文件,所以如果JAR包發(fā)生更新,只能夠通過(guò)FARP方式進(jìn)行升級(jí),即將更新之后的JAR包合入后重新編譯,生成新的軟件版本,然后通知客戶端升級(jí)整個(gè)安卓軟件APK。可見(jiàn),可能只是因?yàn)镴AR包內(nèi)的部分接口發(fā)生了變動(dòng),整個(gè)軟件版本卻需要重新發(fā)布,軟件供應(yīng)商需要花費(fèi)很大的財(cái)力和人力來(lái)生成和推廣新的版本軟件,軟件用戶為了能使用到最新功能的軟件也得重新下載整個(gè)APK,而且整體軟件版本的升級(jí)是緩慢、低效率的。
綜上,亟需一種軟件版本的升級(jí)方法,用以解決JAR包更新導(dǎo)致軟件版本在線升級(jí)成本高、效率低的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種軟件版本的升級(jí)方法及裝置,用以解決JAR包更新導(dǎo)致軟件版本在線升級(jí)成本高、效率低的問(wèn)題。
本發(fā)明實(shí)施例的方法包括一種軟件版本升級(jí)方法,該方法包括:客戶端運(yùn)行本地保存的JAR包,并確定所述JAR包中包含的本地版本號(hào);
所述客戶端通過(guò)所述JAR包中的下載地址從軟件版本服務(wù)器上獲取所述JAR包的最新版本號(hào);
所述客戶端比較所述本地版本號(hào)與所述最新版本號(hào)是否一致;
若不一致,則所述客戶端根據(jù)所述下載地址從所述軟件版本服務(wù)器下載所述最新版本號(hào)對(duì)應(yīng)的JAR包進(jìn)行軟件升級(jí)。
從軟件版本服務(wù)器側(cè),本發(fā)明實(shí)施例進(jìn)一步提供一種軟件版本升級(jí)方法,該方法包括:軟件版本服務(wù)器接收客戶端發(fā)送的訪問(wèn)請(qǐng)求,所述訪問(wèn)請(qǐng)求是客戶端在運(yùn)行本地保存的JAR包時(shí),通過(guò)訪問(wèn)所述JAR包中的下載地址發(fā)送的;
所述軟件版本服務(wù)器向所述客戶端發(fā)送所述JAR包的最新版本號(hào),以使所述客戶端將所述最新版本號(hào)與本地確定的所述JAR包中包含的本地版本號(hào)進(jìn)行比較;
所述軟件版本服務(wù)器根據(jù)所述客戶端在比較版本號(hào)不一致時(shí)發(fā)送的升級(jí)請(qǐng)求,向所述客戶端發(fā)送所述最新版本號(hào)對(duì)應(yīng)的JAR包,以使所述客戶端利用所述最新版本號(hào)對(duì)應(yīng)的JAR包進(jìn)行軟件升級(jí)。
基于同樣的發(fā)明構(gòu)思,本發(fā)明實(shí)施例進(jìn)一步地提供一種客戶端,該客戶端包括:
確定單元,用于在運(yùn)行本地保存的JAR包時(shí)確定所述JAR包中包含的本地版本號(hào);
獲取單元,用于通過(guò)所述JAR包中的下載地址從軟件版本服務(wù)器上獲取所述JAR包的最新版本號(hào);
比較單元,用于比較所述本地版本號(hào)與所述最新版本號(hào)是否一致;
升級(jí)單元,用于當(dāng)比較單元得到不一致的比較結(jié)果時(shí),則根據(jù)所述下載地址從所述軟件版本服務(wù)器下載所述最新版本號(hào)對(duì)應(yīng)的JAR包進(jìn)行軟件升級(jí)。
與上述方法對(duì)應(yīng)地,本發(fā)明實(shí)施例進(jìn)一步地提供一種軟件版本服務(wù)器,該服務(wù)器包括:
接收單元,用于接收客戶端發(fā)送的訪問(wèn)請(qǐng)求,所述訪問(wèn)請(qǐng)求是客戶端在運(yùn)行本地保存的JAR包時(shí),通過(guò)訪問(wèn)所述JAR包中的下載地址發(fā)送的;
發(fā)送單元,用于所述軟件版本服務(wù)器向所述客戶端發(fā)送所述JAR包的最新版本號(hào),以使所述客戶端將所述最新版本號(hào)與本地確定的所述JAR包中包含的本地版本號(hào)進(jìn)行比較;
所述接收單元,還用于接收客戶端在比較版本號(hào)不一致時(shí)發(fā)送的升級(jí)請(qǐng)求,
所述發(fā)送單元,還用于向所述客戶端發(fā)送所述最新版本號(hào)對(duì)應(yīng)的JAR包,以使所述客戶端利用所述最新版本號(hào)對(duì)應(yīng)的JAR包進(jìn)行軟件升級(jí)。
本發(fā)明實(shí)施例升級(jí)應(yīng)用程序中的JAR包的功能,在JAR包中嵌入了升級(jí)的邏輯功能,即當(dāng)客戶端安裝完應(yīng)用程序后,每當(dāng)客戶端啟動(dòng)該應(yīng)用程序時(shí),就會(huì)觸發(fā)自動(dòng)運(yùn)行該應(yīng)用程序中JAR包的升級(jí)處理,即獲取客戶端本地的版本號(hào),然后再利用下載地址從軟件版本服務(wù)器上獲取所述JAR包的最新版本號(hào),然后客戶端比較所述本地版本號(hào)與所述最新版本號(hào)是否一致,若不一致,則證明本地保存的JAR包版本較低,所以客戶端根據(jù)所述下載地址從所述軟件版本服務(wù)器下載所述最新版本號(hào)對(duì)應(yīng)的JAR包進(jìn)行軟件升級(jí),這樣一來(lái),客戶端只對(duì)JAR包進(jìn)行更新即可,不再需要重新下載整個(gè)應(yīng)用程序的安卓軟件APK,而且這一更新過(guò)程無(wú)需用戶確認(rèn)安裝,用戶感覺(jué)不到升級(jí)的過(guò)程,軟件開(kāi)發(fā)商也不需要因?yàn)镴AR包的更新重新編譯生成整個(gè)安卓軟件APK,從而節(jié)省了成本,提高了軟件版本升級(jí)的效率。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例從客戶端側(cè)提供一種軟件版本升級(jí)方法流程示意圖;
圖2為本發(fā)明實(shí)施例從服務(wù)器側(cè)提供一種軟件版本升級(jí)方法流程示意圖;
圖3為本發(fā)明實(shí)施例側(cè)提供一種客戶端架構(gòu)示意圖;
圖4為本發(fā)明實(shí)施例側(cè)提供一種服務(wù)器架構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
參見(jiàn)圖1所示,本發(fā)明實(shí)施例提供一種軟件版本升級(jí)方法流程示意圖,具體地實(shí)現(xiàn)方法包括:
步驟S101,客戶端運(yùn)行本地保存的JAR包,并確定所述JAR包中包含的本地版本號(hào)。
步驟S102,所述客戶端通過(guò)所述JAR包中的下載地址從軟件版本服務(wù)器上獲取所述JAR包的最新版本號(hào)。
步驟S103,所述客戶端比較所述本地版本號(hào)與所述最新版本號(hào)是否一致。
步驟S104,若不一致,則所述客戶端根據(jù)所述下載地址從所述軟件版本服務(wù)器下載所述最新版本號(hào)對(duì)應(yīng)的JAR包進(jìn)行軟件升級(jí)。
考慮JAR包中的文件屬于非可執(zhí)行文件,因此本發(fā)明實(shí)施例對(duì)原始的JAR包功能進(jìn)行改進(jìn),即在原始的JAR包中集成了用于執(zhí)行升級(jí)的邏輯處理,具體地,在原始JAR包中增加判斷版本號(hào)是否一致的邏輯處理,并在代碼中綁定JAR包在軟件版本服務(wù)器上的下載地址,當(dāng)然下載地址的實(shí)現(xiàn)方式可以利用現(xiàn)有的ftp協(xié)議。因此,軟件版本服務(wù)器也就需要預(yù)先安裝ftp服務(wù)器,然后開(kāi)發(fā)人員將應(yīng)用程序相關(guān)的版本內(nèi)容和版本信息均存放在軟件版本服務(wù)器上。
當(dāng)客戶端啟動(dòng)應(yīng)用程序時(shí),那么就會(huì)觸發(fā)執(zhí)行JAR包用于升級(jí)的邏輯處理,即會(huì)獲取該應(yīng)用程序中JAR包的版本號(hào),然后在利用綁定的ftp協(xié)議地址從軟件版本服務(wù)器上獲取這一JAR包的最新的版本號(hào)信息,當(dāng)比較發(fā)現(xiàn)客戶端的版本號(hào)低于軟件版本服務(wù)器上的最新的版本號(hào)時(shí),證明客戶端本地的JAR的版本較低,則會(huì)觸發(fā)升級(jí),即主動(dòng)下載軟件版本服務(wù)器上最新的JAR包,所述客戶端用下載的JAR包替換所述客戶端安裝目錄下的的相同名稱的JAR包。
當(dāng)然,在客戶端與軟件版本服務(wù)器進(jìn)行上述交互之前,需要建立通信,即所述客戶端通過(guò)網(wǎng)絡(luò)協(xié)議向軟件版本服務(wù)器發(fā)起網(wǎng)絡(luò)連接請(qǐng)求,并與所述軟件版本服務(wù)器建立網(wǎng)絡(luò)連接。也就是說(shuō)客戶端與軟件版本服務(wù)器建立類似于GPRS(通用分組無(wú)線服務(wù))的無(wú)線通信。
因?yàn)楝F(xiàn)有技術(shù)中利用APK進(jìn)行升級(jí)軟件,首先用戶需要確認(rèn)下載APK,下載完成以后用戶需要確認(rèn)安裝APK,安裝過(guò)程中需要停用軟件進(jìn)行安裝,安裝完成以后才可以運(yùn)行。而本發(fā)明實(shí)施例中,客戶端的應(yīng)用程序啟動(dòng)之后會(huì)自動(dòng)發(fā)送升級(jí)請(qǐng)求,即自動(dòng)下載JAR包,且無(wú)需停用軟件,直接將JAR包保存在安裝目錄下即可,在需要調(diào)用時(shí)即可隨時(shí)調(diào)用,無(wú)需用戶確認(rèn)安裝,用戶感覺(jué)不到升級(jí)的過(guò)程。當(dāng)然也可以提示用戶進(jìn)行升級(jí),由用戶選擇是否升級(jí),或者在升級(jí)完成以后提示用于該軟件已進(jìn)行升級(jí)。
進(jìn)一步地,所述客戶端從所述軟件版本服務(wù)器下載所述最新版本號(hào)對(duì)應(yīng)的JAR包;所述客戶端根據(jù)下載的JAR包中包含的簽名信息進(jìn)行驗(yàn)證;當(dāng)驗(yàn)證通過(guò)后,所述客戶端根據(jù)所述下載的JAR包進(jìn)行軟件升級(jí)。
其中,對(duì)所述軟件版本服務(wù)器上最新版本號(hào)對(duì)應(yīng)的JAR包加簽的過(guò)程如下:
步驟一、軟件版本服務(wù)器對(duì)生成的JAR包進(jìn)行MD5(Message Digest Algorithm5,消息摘要算法第五版)摘要算法,得到JAR包的摘要信息。
步驟二、軟件版本服務(wù)器使用私鑰對(duì)步驟生成的摘要信息進(jìn)行DES(Data Encryption Algorithm,數(shù)據(jù)加密算法)加密。
步驟三、軟件版本服務(wù)器使用RSA(RonRivest、AdiShamir、Leonard Adleman三人名字的縮寫,公鑰加密算法)的私鑰對(duì)DES加密時(shí)使用的對(duì)稱密鑰進(jìn)行加密,得到DES對(duì)稱密鑰加密信息。
步驟四、軟件版本服務(wù)器將DES加密后的摘要信息和DES對(duì)稱密鑰加密信息發(fā)送到客戶端。
然后客戶端下載了軟件版本服務(wù)器上最新的版本號(hào)對(duì)應(yīng)的JAR包之后解密的過(guò)程如下:
步驟五、客戶端收到信息后,客戶端使用RSA的公鑰對(duì)DES對(duì)稱密鑰加密信息解密得到DES的對(duì)稱密鑰。
步驟六、客戶端使用DES對(duì)稱密鑰對(duì)DES加密后的摘要信息進(jìn)行解密,得到明文的摘要信息A。
步驟七、客戶端對(duì)生成的JAR包進(jìn)行MD5摘要算法,得到JAR包的摘要信息B。比較兩摘要信息A與摘要信息B,如果相同則簽名驗(yàn)證通過(guò),否則簽名驗(yàn)證失敗。
事實(shí)上客戶端程序驗(yàn)證簽名信息的作用是驗(yàn)證JAR包的完整性、JAR包是否被篡改、JAR包是否由所述軟件版本服務(wù)器發(fā)送。
可見(jiàn),本發(fā)明實(shí)施例采用JAR包更新方式,JAR包相比APK要小很多,一般APK體積為幾MB(MegaByte,兆字節(jié))至幾十MB,而且JAR包體積僅為幾KB(Kilo Byte,千字節(jié))至幾十KB,從而大大減少用戶升級(jí)的成本,且升級(jí)時(shí)間較短。本發(fā)明實(shí)施例通過(guò)加簽、解密的安全機(jī)制驗(yàn)證經(jīng)過(guò)改進(jìn)的JAR包,從而實(shí)現(xiàn)安卓軟件的升級(jí),用戶升級(jí)更加平滑。升級(jí)成本的降低以及用戶升級(jí)體驗(yàn)的提升解決了因安卓軟件更新帶來(lái)的流量問(wèn)題和頻繁更新時(shí)用戶需要頻繁確認(rèn)的問(wèn)題,從而可以提高軟件更新的頻率,更新頻率的提高,企業(yè)就能及時(shí)將修改、新功能等更新操作同步到用戶,同時(shí)用戶也能獲得更好的體驗(yàn)。
如圖2所示,本發(fā)明實(shí)施例二從軟件版本服務(wù)器側(cè)提供的一種軟件版本升級(jí)方法,該方法包括:
步驟S201,軟件版本服務(wù)器接收客戶端發(fā)送的訪問(wèn)請(qǐng)求,所述訪問(wèn)請(qǐng)求是客戶端在運(yùn)行本地保存的JAR包時(shí),通過(guò)訪問(wèn)所述JAR包中的下載地址發(fā)送的;
步驟S202,所述軟件版本服務(wù)器向所述客戶端發(fā)送所述JAR包的最新版本號(hào),以使所述客戶端將所述最新版本號(hào)與本地確定的所述JAR包中包含的本地版本號(hào)進(jìn)行比較;
步驟S203,所述軟件版本服務(wù)器根據(jù)所述客戶端在比較版本號(hào)不一致時(shí)發(fā)送的升級(jí)請(qǐng)求,向所述客戶端發(fā)送所述最新版本號(hào)對(duì)應(yīng)的JAR包,以使所述客戶端利用所述最新版本號(hào)對(duì)應(yīng)的JAR包進(jìn)行軟件升級(jí)。
當(dāng)然,在客戶端與軟件版本服務(wù)器進(jìn)行上述交互之前,需要建立通信,即軟件版本服務(wù)器通過(guò)網(wǎng)絡(luò)協(xié)議接收客戶端發(fā)送的網(wǎng)絡(luò)連接請(qǐng)求,并與客戶端建立網(wǎng)絡(luò)連接,然后軟件版本服務(wù)器根據(jù)客戶端的升級(jí)請(qǐng)求,發(fā)給給客戶端對(duì)應(yīng)的JAR包,客戶端接收到JAR之后進(jìn)行相應(yīng)地替換,具體地加簽和解密的過(guò)程如上述方法所述,不再贅述。
可見(jiàn),本發(fā)明實(shí)施例提供的方法能降低企業(yè)的運(yùn)營(yíng)和維護(hù)成本,通過(guò)在軟件版本服務(wù)器上增加版本的管理,企業(yè)可以靈活的管理多個(gè)應(yīng)用及應(yīng)用版本的JAR包,從而降低企業(yè)開(kāi)發(fā)和維護(hù)成本,提升新用戶體驗(yàn)的同時(shí)能保留更多的老用戶。本發(fā)明實(shí)施例采用JAR包更新方式,JAR包相比APK要小很多,一般APK體積為幾MB至幾十MB,而且R包體積僅為幾KB至幾十阻,從而大大減少用戶升級(jí)的成本,且升級(jí)時(shí)間較短。升級(jí)成本的降低以及用戶升級(jí)體驗(yàn)的提升解決了因安卓軟件更新帶來(lái)的流量問(wèn)題和頻繁更新時(shí)用戶需要頻繁確認(rèn)的問(wèn)題,從而可以提高軟件更新的頻率,更新頻率的提高。
基于相同的技術(shù)構(gòu)思,本發(fā)明實(shí)施例還提供一種客戶端,該客戶端可執(zhí)行上述方法實(shí)施例。本發(fā)明實(shí)施例提供的客戶端如圖3所示,包括:確定單元301、獲取單元302、比較單元303、升級(jí)單元304,其中:
確定單元301,用于在運(yùn)行本地保存的JAR包時(shí)確定所述JAR包中包含的本地版本號(hào);
獲取單元302,用于通過(guò)所述JAR包中的下載地址從軟件版本服務(wù)器上獲取所述JAR包的最新版本號(hào);
比較單元303,用于比較所述本地版本號(hào)與所述最新版本號(hào)是否一致;
升級(jí)單元304,用于當(dāng)比較單元得到不一致的比較結(jié)果時(shí),則根據(jù)所述下載地址從所述軟件版本服務(wù)器下載所述最新版本號(hào)對(duì)應(yīng)的JAR包進(jìn)行軟件升級(jí)。
進(jìn)一步地,還包括建立連接單元305,用于通過(guò)網(wǎng)絡(luò)協(xié)議向軟件版本服務(wù)器發(fā)起網(wǎng)絡(luò)連接請(qǐng)求,并與所述軟件版本服務(wù)器建立網(wǎng)絡(luò)連接。
進(jìn)一步地,所述升級(jí)單元304具體用于:從所述軟件版本服務(wù)器下載所述最新版本號(hào)對(duì)應(yīng)的JAR包;
根據(jù)下載的JAR包中包含的簽名信息進(jìn)行驗(yàn)證;當(dāng)驗(yàn)證通過(guò)后,根據(jù)所述下載的JAR包進(jìn)行軟件升級(jí)。
進(jìn)一步地,所述升級(jí)單元304還用于:用下載的JAR包替換所述客戶端安裝目錄下的的相同名稱的JAR包。
與客戶端相對(duì)應(yīng),本發(fā)明實(shí)施例進(jìn)一步地一種軟件版本服務(wù)器,該服務(wù)器可執(zhí)行上述方法實(shí)施例。如圖4所示,包括:接收單元401、發(fā)送單元402,其中:
接收單元401,用于接收客戶端發(fā)送的訪問(wèn)請(qǐng)求,所述訪問(wèn)請(qǐng)求是客戶端在運(yùn)行本地保存的JAR包時(shí),通過(guò)訪問(wèn)所述JAR包中的下載地址發(fā)送的;
發(fā)送單元402,用于所述軟件版本服務(wù)器向所述客戶端發(fā)送所述JAR包的最新版本號(hào),以使所述客戶端將所述最新版本號(hào)與本地確定的所述JAR包中包含的本地版本號(hào)進(jìn)行比較;
所述接收單元401,還用于接收客戶端在比較版本號(hào)不一致時(shí)發(fā)送的升級(jí)請(qǐng)求,
所述發(fā)送單元402,還用于向所述客戶端發(fā)送所述最新版本號(hào)對(duì)應(yīng)的JAR包,以使所述客戶端利用所述最新版本號(hào)對(duì)應(yīng)的JAR包進(jìn)行軟件升級(jí)。
進(jìn)一步地,還包括建立連接單元403,用于通過(guò)網(wǎng)絡(luò)協(xié)議接收客戶端發(fā)送的網(wǎng)絡(luò)連接請(qǐng)求,并與客戶端建立網(wǎng)絡(luò)連接。
本發(fā)明實(shí)施例升級(jí)應(yīng)用程序中的JAR包的功能,在JAR包中嵌入了升級(jí)的邏輯功能,即當(dāng)客戶端安裝完應(yīng)用程序后,每當(dāng)客戶端啟動(dòng)該應(yīng)用程序時(shí),就會(huì)觸發(fā)自動(dòng)運(yùn)行該應(yīng)用程序中JAR包的升級(jí)處理,即獲取客戶端本地的版本號(hào),然后再利用下載地址從軟件版本服務(wù)器上獲取所述JAR包的最新版本號(hào),然后客戶端比較所述本地版本號(hào)與所述最新版本號(hào)是否一致,若不一致,則證明本地保存的JAR包版本較低,所以客戶端根據(jù)所述下載地址從所述軟件版本服務(wù)器下載所述最新版本號(hào)對(duì)應(yīng)的JAR包進(jìn)行軟件升級(jí),這樣一來(lái),客戶端只對(duì)JAR包進(jìn)行更新即可,不再需要重新下載整個(gè)應(yīng)用程序的安卓軟件APK,而且這一更新過(guò)程無(wú)需用戶確認(rèn)安裝,用戶感覺(jué)不到升級(jí)的過(guò)程,軟件開(kāi)發(fā)商也不需要因?yàn)镴AR包的更新重新編譯生成整個(gè)安卓軟件APK,從而節(jié)省了成本,提高了軟件版本升級(jí)的效率。
以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
最后應(yīng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相
應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。