一種應(yīng)用升級(jí)方法及裝置制造方法
【專(zhuān)利摘要】本發(fā)明實(shí)施例公開(kāi)了一種應(yīng)用升級(jí)方法及裝置,涉及軟件【技術(shù)領(lǐng)域】,其中,所述方法包括:獲得目標(biāo)應(yīng)用的更新文件;利用第三方函數(shù)解析庫(kù)Rhino庫(kù)對(duì)所述目標(biāo)應(yīng)用的更新文件進(jìn)行解析,得到所述目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件;運(yùn)行所述目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件,實(shí)現(xiàn)所述目標(biāo)應(yīng)用升級(jí)。應(yīng)用本發(fā)明實(shí)施例提供的方案進(jìn)行應(yīng)用升級(jí)時(shí),由于采用第三方函數(shù)解析庫(kù)Rhino庫(kù)對(duì)所獲得的更新文件進(jìn)行解析,而不是采用安卓操作系統(tǒng)提供的相關(guān)文件進(jìn)行解析,所以能夠避開(kāi)Google規(guī)定的應(yīng)用升級(jí)模式,從而開(kāi)發(fā)者能夠結(jié)合自身的實(shí)際情況編寫(xiě)應(yīng)用升級(jí)文件。
【專(zhuān)利說(shuō)明】一種應(yīng)用升級(jí)方法及裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及軟件【技術(shù)領(lǐng)域】,特別涉及一種應(yīng)用升級(jí)方法及裝置。
【背景技術(shù)】
[0002] 隨著電子技術(shù)的快速發(fā)展,電子設(shè)備的性能越來(lái)越高,用戶(hù)可以在其中安裝多種 應(yīng)用。實(shí)際應(yīng)用中,用戶(hù)所安裝的應(yīng)用可能會(huì)存在漏洞或者功能單一等問(wèn)題,因此,應(yīng)用開(kāi) 發(fā)者會(huì)對(duì)這些應(yīng)用進(jìn)行升級(jí),以修復(fù)漏洞或者豐富應(yīng)用的功能。
[0003] 現(xiàn)有技術(shù)中,在安卓操作系統(tǒng)中進(jìn)行應(yīng)用升級(jí)時(shí),由于受Google規(guī)定的應(yīng)用升級(jí) 模式的限制,獲得應(yīng)用的更新文件后,只能調(diào)用安卓操作系統(tǒng)提供的相關(guān)文件,按照Google 規(guī)定的應(yīng)用升級(jí)模式進(jìn)行操作,才能完成應(yīng)用升級(jí)。這種情況下,在安卓操作系統(tǒng)中進(jìn)行應(yīng) 用升級(jí)實(shí)現(xiàn)模式單一,不利于應(yīng)用開(kāi)發(fā)者結(jié)合自身的實(shí)際情況編寫(xiě)應(yīng)用升級(jí)文件。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明實(shí)施例公開(kāi)了一種應(yīng)用升級(jí)方法及裝置,以使得應(yīng)用開(kāi)發(fā)者能夠擺脫 Google規(guī)定的應(yīng)用升級(jí)模式,結(jié)合自身的實(shí)際情況編寫(xiě)應(yīng)用升級(jí)文件。
[0005] 為達(dá)到上述目的,本發(fā)明實(shí)施例公開(kāi)了一種應(yīng)用升級(jí)方法,所述方法包括:
[0006] 獲得目標(biāo)應(yīng)用的更新文件;
[0007] 利用第三方函數(shù)解析庫(kù)Rhino庫(kù)對(duì)所述目標(biāo)應(yīng)用的更新文件進(jìn)行解析,得到所述 目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件;
[0008] 運(yùn)行所述目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件,實(shí)現(xiàn)所述目標(biāo)應(yīng)用升級(jí)。
[0009] 可選的,所述獲得目標(biāo)應(yīng)用的更新文件,包括:
[0010] 向服務(wù)器發(fā)送應(yīng)用更新查詢(xún)請(qǐng)求,其中,所述應(yīng)用更新查詢(xún)請(qǐng)求中,攜帶電子設(shè)備 中已安裝應(yīng)用的標(biāo)識(shí)和版本號(hào);
[0011] 獲得所述服務(wù)器根據(jù)所述應(yīng)用更新查詢(xún)請(qǐng)求反饋的查詢(xún)結(jié)果;
[0012] 根據(jù)所述查詢(xún)結(jié)果,判斷是否存在所述目標(biāo)應(yīng)用的更新文件;
[0013] 若存在,獲得所述目標(biāo)應(yīng)用的更新文件。
[0014] 可選的,所述獲得目標(biāo)應(yīng)用的更新文件,包括:
[0015] 接收服務(wù)器發(fā)送的所述目標(biāo)應(yīng)用的最新版本信息;
[0016] 判斷所述目標(biāo)應(yīng)用的當(dāng)前版本信息與最新版本信息是否一致;
[0017] 若不一致,獲得所述目標(biāo)應(yīng)用的更新文件。
[0018] 可選的,在所述利用第三方函數(shù)解析庫(kù)Rhino庫(kù)對(duì)所述目標(biāo)應(yīng)用的更新文件進(jìn)行 解析,得到所述目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件之前,還包括:
[0019] 獲得用戶(hù)針對(duì)所述目標(biāo)應(yīng)用的更新文件的操作指令;
[0020] 若所述操作指令為同意升級(jí),則利用第三方函數(shù)解析庫(kù)Rhino庫(kù)對(duì)所述目標(biāo)應(yīng)用 的更新文件進(jìn)行解析,得到所述目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件。
[0021] 為達(dá)到上述目的,本發(fā)明實(shí)施例公開(kāi)了一種應(yīng)用升級(jí)裝置,所述裝置包括:
[0022] 更新文件獲得模塊,用于獲得目標(biāo)應(yīng)用的更新文件;
[0023] 更新文件解析模塊,用于利用第三方函數(shù)解析庫(kù)Rhino庫(kù)對(duì)所述目標(biāo)應(yīng)用的更新 文件進(jìn)行解析,得到所述目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件;
[0024] 應(yīng)用升級(jí)模塊,用于運(yùn)行所述目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件,實(shí)現(xiàn)所述目標(biāo)應(yīng)用升 級(jí)。
[0025] 可選的,所述更新文件獲得模塊,包括:
[0026] 查詢(xún)請(qǐng)求發(fā)送子模塊,用于向服務(wù)器發(fā)送應(yīng)用更新查詢(xún)請(qǐng)求,其中,所述應(yīng)用更新 查詢(xún)請(qǐng)求中,攜帶電子設(shè)備中已安裝應(yīng)用的標(biāo)識(shí)和版本號(hào);
[0027] 查詢(xún)結(jié)果反饋?zhàn)幽K,用于獲得所述服務(wù)器根據(jù)所述應(yīng)用更新查詢(xún)請(qǐng)求反饋的查 詢(xún)結(jié)果;
[0028] 更新文件判斷子模塊,用于根據(jù)所述查詢(xún)結(jié)果,判斷是否存在所述目標(biāo)應(yīng)用的更 新文件;
[0029] 第一更新文件獲得子模塊,用于在所述更新文件判斷子模塊的判斷結(jié)果為是的情 況下,獲得所述目標(biāo)應(yīng)用的更新文件。
[0030] 可選的,所述更新文件獲得模塊,包括:
[0031] 版本信息接收子模塊,用于接收服務(wù)器發(fā)送的所述目標(biāo)應(yīng)用的最新版本信息;
[0032] 版本信息判斷子模塊,用于判斷所述目標(biāo)應(yīng)用的當(dāng)前版本信息與最新版本信息是 否一致;
[0033] 第二更新文件獲得子模塊,用于在所述版本信息判斷子模塊的判斷結(jié)果為否的情 況下,獲得所述目標(biāo)應(yīng)用的更新文件。
[0034] 可選的,所述應(yīng)用升級(jí)裝置還包括:
[0035] 操作指令獲得模塊,用于獲得用戶(hù)針對(duì)所述目標(biāo)應(yīng)用的更新文件的操作指令,若 所述操作指令為同意升級(jí),則觸發(fā)所述更新文件解析模塊對(duì)所述目標(biāo)應(yīng)用的更新文件進(jìn)行 解析。
[0036] 由以上可見(jiàn),本發(fā)明實(shí)施例提供的方案中,獲得目標(biāo)應(yīng)用的更新文件后,利用第三 方函數(shù)解析庫(kù)Rhino庫(kù)對(duì)目標(biāo)應(yīng)用的更新文件進(jìn)行解析,得到目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文 件,并運(yùn)行解析該目標(biāo)應(yīng)用的更新文件得到的Java類(lèi)文件,實(shí)現(xiàn)目標(biāo)應(yīng)用升級(jí)。與現(xiàn)有技 術(shù)在安卓操作系統(tǒng)中進(jìn)行應(yīng)用升級(jí)相比,通過(guò)本發(fā)明實(shí)施例提供的方案進(jìn)行應(yīng)用升級(jí)時(shí), 由于采用第三方函數(shù)解析庫(kù)Rhino庫(kù)對(duì)所獲得的更新文件進(jìn)行解析,而不是采用安卓操作 系統(tǒng)提供的相關(guān)文件進(jìn)行解析,所以能夠避開(kāi)Google規(guī)定的應(yīng)用升級(jí)模式,從而開(kāi)發(fā)者能 夠結(jié)合自身的實(shí)際情況編寫(xiě)應(yīng)用升級(jí)文件。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0037] 為了更清楚地說(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ù)這些附圖獲得其他的附圖。
[0038] 圖1為本發(fā)明實(shí)施例提供的應(yīng)用升級(jí)方法的第一種流程示意圖;
[0039] 圖2為本發(fā)明實(shí)施例提供的應(yīng)用升級(jí)方法的第二種流程示意圖;
[0040] 圖3為本發(fā)明實(shí)施例提供的應(yīng)用升級(jí)裝置的第一種結(jié)構(gòu)示意圖;
[0041] 圖4為本發(fā)明實(shí)施例提供的應(yīng)用升級(jí)裝置的第二種結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0042] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0043] 由于不同操作系統(tǒng)對(duì)其中已安裝應(yīng)用的升級(jí)模式具有不同要求,所以,在進(jìn)行應(yīng) 用升級(jí)程序開(kāi)發(fā)時(shí),受限于各個(gè)操作系統(tǒng)對(duì)升級(jí)模式的要求。具體的,例如,Google認(rèn)為只 有用戶(hù)手動(dòng)選擇并進(jìn)行的應(yīng)用升級(jí)才是安全、可靠的,那么按照Google的要求,在安卓操 作系統(tǒng)中對(duì)應(yīng)用進(jìn)行升級(jí)只能由用戶(hù)手動(dòng)進(jìn)行,然而,實(shí)際應(yīng)用中,用戶(hù)由于工作、時(shí)間等 原因,經(jīng)常不會(huì)選擇手動(dòng)進(jìn)行應(yīng)用升級(jí),進(jìn)而使得用戶(hù)無(wú)法及時(shí)修復(fù)應(yīng)用存在的漏洞或者 無(wú)法第一時(shí)間體驗(yàn)到應(yīng)用的新功能等。鑒于上述的原因,本發(fā)明實(shí)施例提供了一種應(yīng)用升 級(jí)方法。
[0044] 下面先對(duì)本申請(qǐng)文件中涉及到的技術(shù)術(shù)語(yǔ)進(jìn)行簡(jiǎn)單介紹。
[0045] Rhino庫(kù):Rhino庫(kù)是一個(gè)完全使用Java語(yǔ)言編寫(xiě)的開(kāi)源JavaScript引擎實(shí)現(xiàn), 主要用于在Java環(huán)境中執(zhí)行XXX. js文件或者JS (JavaScript)程序。Rhino庫(kù)通常用于在 Java程序中,為最終用戶(hù)提供腳本化能力。應(yīng)用Rhino庫(kù)的最終目是為了能夠在Java執(zhí)行 環(huán)境中執(zhí)行JS程序,以便直接拷貝并執(zhí)行JavaScript代碼。
[0046] JavaScript :JavaScript 是一種由 Netscape 的 LiveScript 發(fā)展而來(lái)的原型化繼 承的基于對(duì)象的動(dòng)態(tài)類(lèi)型的區(qū)分大小寫(xiě)的客戶(hù)端腳本語(yǔ)言,主要目的是為了解決服務(wù)器端 語(yǔ)言,比如Perl,遺留的速度問(wèn)題,為客戶(hù)提供更流暢的瀏覽效果。
[0047] Lua :Lua 是巴西里約熱內(nèi)盧天主教大學(xué)(Pontifical Catholic University of Rio de Janeiro)里的一個(gè)研究小組,由 Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所組成,并于1993年開(kāi)發(fā)的一種小巧的腳本語(yǔ)言。其設(shè)計(jì)目的是 為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴(kuò)展和定制功能。Lua由標(biāo)準(zhǔn)C編寫(xiě)而 成,幾乎在所有操作系統(tǒng)和平臺(tái)上都可以編譯、運(yùn)行。Lua并沒(méi)有提供強(qiáng)大的庫(kù),這是由它的 定位決定的。所以Lua不適合作為開(kāi)發(fā)獨(dú)立應(yīng)用程序的語(yǔ)言。
[0048] LibLua :LibLua是負(fù)責(zé)解析Lua腳本并且調(diào)用對(duì)應(yīng)C函數(shù)的開(kāi)發(fā)庫(kù)。簡(jiǎn)單而言就 是能利用C函數(shù)去運(yùn)行Lua腳本的庫(kù)。
[0049] 下面通過(guò)具體實(shí)例對(duì)本發(fā)明進(jìn)行詳細(xì)介紹。
[0050] 圖1為本發(fā)明實(shí)施例提供的應(yīng)用升級(jí)方法的第一種流程示意圖,該方法包括:
[0051] S101 :獲得目標(biāo)應(yīng)用的更新文件。
[0052] 本發(fā)明實(shí)施例提供的應(yīng)用升級(jí)方法的執(zhí)行主體為用戶(hù)設(shè)備中安裝的客戶(hù)端,其 中,用戶(hù)設(shè)備可以是計(jì)算機(jī)、平板電腦和手機(jī)等等。
[0053] 目標(biāo)應(yīng)用可以是用戶(hù)設(shè)備已安裝的應(yīng)用中當(dāng)前正在運(yùn)行的應(yīng)用,也可以是用戶(hù)設(shè) 備中已安裝的應(yīng)用中當(dāng)前未運(yùn)行的應(yīng)用。
[0054] 具體的,獲得目標(biāo)應(yīng)用的更新文件時(shí),一種具體實(shí)現(xiàn)方式中,客戶(hù)端可以先向服務(wù) 器發(fā)送應(yīng)用更新查詢(xún)請(qǐng)求,服務(wù)器接收到客戶(hù)端發(fā)送的應(yīng)用更新查詢(xún)請(qǐng)求后,根據(jù)該請(qǐng)求 查詢(xún)是否存在應(yīng)用的更新文件,并將查詢(xún)結(jié)果反饋給客戶(hù)端,客戶(hù)端根據(jù)服務(wù)器反饋的查 詢(xún)結(jié)果,可判斷得知是否存在目標(biāo)應(yīng)用的更新文件,若存在,獲得目標(biāo)應(yīng)用的更新文件。
[0055] 上述的應(yīng)用更新查詢(xún)請(qǐng)求中可以攜帶電子設(shè)備中已安裝應(yīng)用的標(biāo)識(shí)和版本號(hào),當(dāng) 然,本申請(qǐng)并不限定應(yīng)用更新查詢(xún)請(qǐng)求中所攜帶的信息。
[0056] 需要說(shuō)明的是,應(yīng)用更新查詢(xún)請(qǐng)求中攜帶的電子設(shè)備中已安裝應(yīng)用的標(biāo)識(shí),可以 理解為目標(biāo)應(yīng)用的標(biāo)識(shí),也可以理解為包含目標(biāo)應(yīng)用的標(biāo)識(shí)在內(nèi)的電子設(shè)備中多個(gè)或全部 已安裝應(yīng)用的標(biāo)識(shí)。
[0057] 另一種具體實(shí)現(xiàn)方式中,客戶(hù)端還可以先接收服務(wù)器發(fā)送的目標(biāo)應(yīng)用的最新版本 信息,再根據(jù)該最新版本信息,判斷目標(biāo)應(yīng)用的當(dāng)前版本信息與最新版本信息是否一致,若 不一致,獲得目標(biāo)應(yīng)用的更新文件。
[0058] 其中,服務(wù)器向客戶(hù)端發(fā)送目標(biāo)應(yīng)用的最新版本信息,可以是服務(wù)器檢測(cè)到目標(biāo) 應(yīng)用進(jìn)行了版本更新而觸發(fā)的,也可以是服務(wù)器接收到客戶(hù)端發(fā)送的觸發(fā)指令而觸發(fā)的, 例如,客戶(hù)端發(fā)送的觸發(fā)指令所包含的信息可以是在用戶(hù)設(shè)備中已啟動(dòng)目標(biāo)應(yīng)用等等。
[0059] 另外,上述的目標(biāo)應(yīng)用的更新文件可以是針對(duì)目標(biāo)應(yīng)用的一個(gè)或多個(gè)功能模塊的 升級(jí)文件,目標(biāo)應(yīng)用在運(yùn)行狀態(tài)下進(jìn)行應(yīng)用升級(jí)時(shí),若無(wú)特殊要求可以不退出目標(biāo)應(yīng)用而 直接進(jìn)行升級(jí)。
[0060] S102 :利用第三方函數(shù)解析庫(kù)Rhino庫(kù)對(duì)目標(biāo)應(yīng)用的更新文件進(jìn)行解析,得到目 標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件。
[0061] 實(shí)際應(yīng)用中,應(yīng)用本發(fā)明實(shí)施例提供的應(yīng)用升級(jí)方法進(jìn)行升級(jí)時(shí),所需的第三方 文件解析庫(kù)與更新文件的類(lèi)型相關(guān),解析不同類(lèi)型的更新文件需要不同的第三方文件解析 庫(kù),例如,JS(JavaScript)腳本文件可以采用Rhino庫(kù)進(jìn)行解析,Lua文件可以采用LibLua 庫(kù)進(jìn)行解析等等。本實(shí)施例中,目標(biāo)應(yīng)用的更新文件為JS腳本文件。
[0062] 另外,本領(lǐng)域內(nèi)的技術(shù)人員可以理解的是,解析不同類(lèi)型的更新文件所需的第三 方文件解析庫(kù)還與操作系統(tǒng)相關(guān),例如,本實(shí)施例中的Rhino庫(kù)可用于在安卓操作系統(tǒng)中 解析JS腳本文件,而在ios操作系統(tǒng)中解析JS腳本文件則可采用其他庫(kù)進(jìn)行解析。
[0063] S103 :運(yùn)行目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件,實(shí)現(xiàn)目標(biāo)應(yīng)用升級(jí)。
[0064] 實(shí)際應(yīng)用中,利用Rhino庫(kù)解析目標(biāo)應(yīng)用的更新文件得到Java類(lèi)文件后,可以利 用VMware等虛擬機(jī)軟件運(yùn)行所得到的Java類(lèi)文件傳入dalvik虛擬機(jī)中直接運(yùn)行。本申 請(qǐng)并不限定具體的運(yùn)行方式。
[0065] 由以上可見(jiàn),本實(shí)施例提供的方案中,獲得目標(biāo)應(yīng)用的更新文件后,利用第三方函 數(shù)解析庫(kù)Rhino庫(kù)對(duì)目標(biāo)應(yīng)用的更新文件進(jìn)行解析,得到目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件,并 運(yùn)行解析該目標(biāo)應(yīng)用的更新文件得到的Java類(lèi)文件,實(shí)現(xiàn)目標(biāo)應(yīng)用升級(jí)。與現(xiàn)有技術(shù)在安 卓操作系統(tǒng)中進(jìn)行應(yīng)用升級(jí)相比,通過(guò)本實(shí)施例提供的方案進(jìn)行應(yīng)用升級(jí)時(shí),由于采用第 三方函數(shù)解析庫(kù)Rhino庫(kù)對(duì)所獲得的更新文件進(jìn)行解析,而不是采用安卓操作系統(tǒng)提供的 相關(guān)文件進(jìn)行解析,所以能夠避開(kāi)Google規(guī)定的應(yīng)用升級(jí)模式,從而開(kāi)發(fā)者能夠結(jié)合自身 的實(shí)際情況編寫(xiě)應(yīng)用升級(jí)文件。
[0066] 在本發(fā)明的另一個(gè)優(yōu)選實(shí)施例中,參見(jiàn)圖2,提供了應(yīng)用升級(jí)方法的第二種流程示 意圖,與前述實(shí)施例相比,本實(shí)施例中該方法還包括:
[0067] S104 :獲得用戶(hù)針對(duì)目標(biāo)應(yīng)用的更新文件的操作指令。
[0068] 考慮到不同用戶(hù)的實(shí)際情況各不相同,在獲得目標(biāo)應(yīng)用的更新文件后,可以提示 用戶(hù)已經(jīng)獲得了目標(biāo)應(yīng)用的更新文件,在用戶(hù)給出針對(duì)目標(biāo)應(yīng)用的更新文件的操作指令為 同意升級(jí)的情況,再利用預(yù)設(shè)的第三方文件解析庫(kù)Rhino庫(kù)對(duì)目標(biāo)應(yīng)用的更新文件進(jìn)行解 析。
[0069] 由以上可見(jiàn),本實(shí)施例提供的方案中,在獲得目標(biāo)應(yīng)用的更新文件之后,先獲得用 戶(hù)針對(duì)目標(biāo)應(yīng)用的更新文件的操作指令,在用戶(hù)同意升級(jí)的情況下,利用第三方文件解析 庫(kù)Rhino庫(kù)進(jìn)行文件解析并實(shí)現(xiàn)目標(biāo)應(yīng)用升級(jí)??梢?jiàn)本實(shí)施例中,在避開(kāi)Google規(guī)定的應(yīng) 用升級(jí)模式的同時(shí),兼顧了用戶(hù)的應(yīng)用升級(jí)意愿,能夠提高用戶(hù)的體驗(yàn)效果。
[0070] 與上述的應(yīng)用升級(jí)方法相對(duì)應(yīng),本發(fā)明實(shí)施例還提供了 一種應(yīng)用升級(jí)裝置。
[0071] 圖3為本發(fā)明實(shí)施例提供的應(yīng)用升級(jí)裝置的第一種結(jié)構(gòu)示意圖,該裝置包括:更 新文件獲得模塊301、更新文件解析模塊302和應(yīng)用升級(jí)模塊303。
[0072] 其中,更新文件獲得模塊301,用于獲得目標(biāo)應(yīng)用的更新文件;
[0073] 更新文件解析模塊302,用于利用第三方函數(shù)解析庫(kù)Rhino庫(kù)對(duì)所述目標(biāo)應(yīng)用的 更新文件進(jìn)行解析,得到所述目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件;
[0074] 應(yīng)用升級(jí)模塊303,用于運(yùn)行所述目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件,實(shí)現(xiàn)所述目標(biāo)應(yīng) 用升級(jí)。
[0075] 在本發(fā)明的一個(gè)具體實(shí)施例中,更新文件獲得模塊301包括:查詢(xún)請(qǐng)求發(fā)送子 模塊、查詢(xún)結(jié)果反饋?zhàn)幽K、更新文件判斷子模塊和第一更新文件獲得子模塊(圖中未示 出)。
[0076] 其中,查詢(xún)請(qǐng)求發(fā)送子模塊,用于向服務(wù)器發(fā)送應(yīng)用更新查詢(xún)請(qǐng)求,其中,所述應(yīng) 用更新查詢(xún)請(qǐng)求中,攜帶電子設(shè)備中已安裝應(yīng)用的標(biāo)識(shí)和版本號(hào);
[0077] 查詢(xún)結(jié)果反饋?zhàn)幽K,用于獲得所述服務(wù)器根據(jù)所述應(yīng)用更新查詢(xún)請(qǐng)求反饋的查 詢(xún)結(jié)果;
[0078] 更新文件判斷子模塊,用于根據(jù)所述查詢(xún)結(jié)果,判斷是否存在所述目標(biāo)應(yīng)用的更 新文件;
[0079] 第一更新文件獲得子模塊,用于在所述更新文件判斷子模塊的判斷結(jié)果為是的情 況下,獲得所述目標(biāo)應(yīng)用的更新文件。
[0080] 在本發(fā)明的另一個(gè)具體實(shí)施例中,更新文件獲得模塊301包括:版本信息接收子 模塊、版本信息判斷子模塊和第二更新文件獲得子模塊(圖中未示出)。
[0081] 其中,版本信息接收子模塊,用于接收服務(wù)器發(fā)送的所述目標(biāo)應(yīng)用的最新版本信 息;
[0082] 版本信息判斷子模塊,用于判斷所述目標(biāo)應(yīng)用的當(dāng)前版本信息與最新版本信息是 否一致;
[0083] 第二更新文件獲得子模塊,用于在所述版本信息判斷子模塊的判斷結(jié)果為否的情 況下,獲得所述目標(biāo)應(yīng)用的更新文件。
[0084] 由以上可見(jiàn),本實(shí)施例提供的方案中,獲得目標(biāo)應(yīng)用的更新文件后,利用第三方函 數(shù)解析庫(kù)Rhino庫(kù)對(duì)目標(biāo)應(yīng)用的更新文件進(jìn)行解析,得到目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件,并 運(yùn)行解析該目標(biāo)應(yīng)用的更新文件得到的Java類(lèi)文件,實(shí)現(xiàn)目標(biāo)應(yīng)用升級(jí)。與現(xiàn)有技術(shù)在安 卓操作系統(tǒng)中進(jìn)行應(yīng)用升級(jí)相比,通過(guò)本實(shí)施例提供的方案進(jìn)行應(yīng)用升級(jí)時(shí),由于采用第 三方函數(shù)解析庫(kù)Rhino庫(kù)對(duì)所獲得的更新文件進(jìn)行解析,而不是采用安卓操作系統(tǒng)提供的 相關(guān)文件進(jìn)行解析,所以能夠避開(kāi)Google規(guī)定的應(yīng)用升級(jí)模式,從而開(kāi)發(fā)者能夠結(jié)合自身 的實(shí)際情況編寫(xiě)應(yīng)用升級(jí)文件。
[0085] 在本發(fā)明的另一個(gè)具體實(shí)施例中,參見(jiàn)圖4,提供了應(yīng)用升級(jí)裝置的第二種結(jié)構(gòu)示 意圖,與前述實(shí)施例相比,該裝置還包括:操作指令獲得模塊304。
[0086] 其中,操作指令獲得模塊304,用于獲得用戶(hù)針對(duì)所述目標(biāo)應(yīng)用的更新文件的操作 指令,若所述操作指令為同意升級(jí),則觸發(fā)所述更新文件解析模塊302對(duì)所述目標(biāo)應(yīng)用的 更新文件進(jìn)行解析。
[0087] 由以上可見(jiàn),本實(shí)施例提供的方案中,在獲得目標(biāo)應(yīng)用的更新文件之后,先獲得用 戶(hù)針對(duì)目標(biāo)應(yīng)用的更新文件的操作指令,在用戶(hù)同意升級(jí)的情況下,利用第三方文件解析 庫(kù)Rhino庫(kù)進(jìn)行文件解析并實(shí)現(xiàn)目標(biāo)應(yīng)用升級(jí)??梢?jiàn)本實(shí)施例中,在避開(kāi)Google規(guī)定的應(yīng) 用升級(jí)模式的同時(shí),兼顧了用戶(hù)的應(yīng)用升級(jí)意愿,能夠提高用戶(hù)的體驗(yàn)效果。
[0088] 對(duì)于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān) 之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
[0089] 需要說(shuō)明的是,在本文中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí) 體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存 在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)"包括"、"包含"或者其任何其他變體意在涵 蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要 素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備 所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句"包括一個(gè)……"限定的要素,并不排除 在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0090] 本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施方式中的全部或部分步驟是可 以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中, 這里所稱(chēng)得的存儲(chǔ)介質(zhì),如:R0M/RAM、磁碟、光盤(pán)等。
[0091] 以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在 本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍 內(nèi)。
【權(quán)利要求】
1. 一種應(yīng)用升級(jí)方法,其特征在于,所述方法包括: 獲得目標(biāo)應(yīng)用的更新文件; 利用第三方函數(shù)解析庫(kù)Rhino庫(kù)對(duì)所述目標(biāo)應(yīng)用的更新文件進(jìn)行解析,得到所述目標(biāo) 應(yīng)用對(duì)應(yīng)的Java類(lèi)文件; 運(yùn)行所述目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件,實(shí)現(xiàn)所述目標(biāo)應(yīng)用升級(jí)。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲得目標(biāo)應(yīng)用的更新文件,包括: 向服務(wù)器發(fā)送應(yīng)用更新查詢(xún)請(qǐng)求,其中,所述應(yīng)用更新查詢(xún)請(qǐng)求中,攜帶電子設(shè)備中已 安裝應(yīng)用的標(biāo)識(shí)和版本號(hào); 獲得所述服務(wù)器根據(jù)所述應(yīng)用更新查詢(xún)請(qǐng)求反饋的查詢(xún)結(jié)果; 根據(jù)所述查詢(xún)結(jié)果,判斷是否存在所述目標(biāo)應(yīng)用的更新文件; 若存在,獲得所述目標(biāo)應(yīng)用的更新文件。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲得目標(biāo)應(yīng)用的更新文件,包括: 接收服務(wù)器發(fā)送的所述目標(biāo)應(yīng)用的最新版本信息; 判斷所述目標(biāo)應(yīng)用的當(dāng)前版本信息與最新版本信息是否一致; 若不一致,獲得所述目標(biāo)應(yīng)用的更新文件。
4. 根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的方法,其特征在于,在所述利用第三方函數(shù)解析 庫(kù)Rhino庫(kù)對(duì)所述目標(biāo)應(yīng)用的更新文件進(jìn)行解析,得到所述目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件之 前,還包括: 獲得用戶(hù)針對(duì)所述目標(biāo)應(yīng)用的更新文件的操作指令; 若所述操作指令為同意升級(jí),則利用第三方函數(shù)解析庫(kù)Rhino庫(kù)對(duì)所述目標(biāo)應(yīng)用的更 新文件進(jìn)行解析,得到所述目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件。
5. -種應(yīng)用升級(jí)裝置,其特征在于,所述裝置包括: 更新文件獲得模塊,用于獲得目標(biāo)應(yīng)用的更新文件; 更新文件解析模塊,用于利用第三方函數(shù)解析庫(kù)Rhino庫(kù)對(duì)所述目標(biāo)應(yīng)用的更新文件 進(jìn)行解析,得到所述目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件; 應(yīng)用升級(jí)模塊,用于運(yùn)行所述目標(biāo)應(yīng)用對(duì)應(yīng)的Java類(lèi)文件,實(shí)現(xiàn)所述目標(biāo)應(yīng)用升級(jí)。
6. 根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述更新文件獲得模塊,包括: 查詢(xún)請(qǐng)求發(fā)送子模塊,用于向服務(wù)器發(fā)送應(yīng)用更新查詢(xún)請(qǐng)求,其中,所述應(yīng)用更新查詢(xún) 請(qǐng)求中,攜帶電子設(shè)備中已安裝應(yīng)用的標(biāo)識(shí)和版本號(hào); 查詢(xún)結(jié)果反饋?zhàn)幽K,用于獲得所述服務(wù)器根據(jù)所述應(yīng)用更新查詢(xún)請(qǐng)求反饋的查詢(xún)結(jié) 果; 更新文件判斷子模塊,用于根據(jù)所述查詢(xún)結(jié)果,判斷是否存在所述目標(biāo)應(yīng)用的更新文 件; 第一更新文件獲得子模塊,用于在所述更新文件判斷子模塊的判斷結(jié)果為是的情況 下,獲得所述目標(biāo)應(yīng)用的更新文件。
7. 根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述更新文件獲得模塊,包括: 版本信息接收子模塊,用于接收服務(wù)器發(fā)送的所述目標(biāo)應(yīng)用的最新版本信息; 版本信息判斷子模塊,用于判斷所述目標(biāo)應(yīng)用的當(dāng)前版本信息與最新版本信息是否一 致; 第二更新文件獲得子模塊,用于在所述版本信息判斷子模塊的判斷結(jié)果為否的情況 下,獲得所述目標(biāo)應(yīng)用的更新文件。
8.根據(jù)權(quán)利要求5-7中任一項(xiàng)所述的裝置,其特征在于,所述裝置還包括: 操作指令獲得模塊,用于獲得用戶(hù)針對(duì)所述目標(biāo)應(yīng)用的更新文件的操作指令,若所述 操作指令為同意升級(jí),則觸發(fā)所述更新文件解析模塊對(duì)所述目標(biāo)應(yīng)用的更新文件進(jìn)行解 析。
【文檔編號(hào)】G06F9/445GK104156247SQ201410400208
【公開(kāi)日】2014年11月19日 申請(qǐng)日期:2014年8月14日 優(yōu)先權(quán)日:2014年8月14日
【發(fā)明者】鄺銳強(qiáng) 申請(qǐng)人:廣州金山網(wǎng)絡(luò)科技有限公司