亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種應(yīng)用升級方法及裝置制造方法

文檔序號:6622884閱讀:225來源:國知局
一種應(yīng)用升級方法及裝置制造方法
【專利摘要】本發(fā)明實施例公開了一種應(yīng)用升級方法及裝置,涉及軟件【技術(shù)領(lǐng)域】,其中,該方法包括:獲得目標應(yīng)用的更新文件,其中,更新文件由第一種計算機程序語言編寫,且能夠訪問第二種計算機程序語言編寫的文件;利用預(yù)設(shè)的第三方函數(shù)封裝庫,對目標應(yīng)用的更新文件所包含的函數(shù)進行重新封裝;利用與預(yù)設(shè)的第三方函數(shù)封裝庫相對應(yīng)的預(yù)設(shè)的第三方函數(shù)解析庫,對上述重新封裝后的函數(shù)進行解析;運行解析后的函數(shù),實現(xiàn)目標應(yīng)用升級。應(yīng)用本發(fā)明實施例提供的方案進行應(yīng)用升級時,能夠避開Google規(guī)定的應(yīng)用升級模式,從而開發(fā)者能夠結(jié)合自身的實際情況編寫應(yīng)用升級文件。
【專利說明】一種應(yīng)用升級方法及裝置

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及軟件【技術(shù)領(lǐng)域】,特別涉及一種應(yīng)用升級方法及裝置。

【背景技術(shù)】
[0002] 隨著電子技術(shù)的快速發(fā)展,電子設(shè)備的性能越來越高,用戶可以在其中安裝多種 應(yīng)用。實際應(yīng)用中,用戶所安裝的應(yīng)用可能會存在漏洞或者功能單一等問題,因此,應(yīng)用開 發(fā)者會對這些應(yīng)用進行升級,以修復(fù)漏洞或者豐富應(yīng)用的功能。
[0003] 現(xiàn)有技術(shù)中,在安卓操作系統(tǒng)中進行應(yīng)用升級時,由于受Google規(guī)定的應(yīng)用升級 模式的限制,獲得應(yīng)用的更新文件后,只能調(diào)用安卓操作系統(tǒng)提供的相關(guān)文件,按照Google 規(guī)定的應(yīng)用升級模式進行操作,才能完成應(yīng)用升級。這種情況下,在安卓操作系統(tǒng)中進行應(yīng) 用升級實現(xiàn)模式單一,不利于應(yīng)用開發(fā)者結(jié)合自身的實際情況編寫應(yīng)用升級文件。


【發(fā)明內(nèi)容】

[0004] 本發(fā)明實施例公開了一種應(yīng)用升級方法及裝置,以使得應(yīng)用開發(fā)者能夠擺脫 Google規(guī)定的應(yīng)用升級模式,結(jié)合自身的實際情況編寫應(yīng)用升級文件。
[0005] 為達到上述目的,本發(fā)明實施例公開了一種應(yīng)用升級方法,所述方法包括:
[0006] 獲得目標應(yīng)用的更新文件,其中,所述更新文件由第一種計算機程序語言編寫,且 能夠訪問第二種計算機程序語言編寫的文件;
[0007] 利用預(yù)設(shè)的第三方函數(shù)封裝庫,對所述目標應(yīng)用的更新文件所包含的函數(shù)進行重 新封裝;
[0008] 利用與所述預(yù)設(shè)的第三方函數(shù)封裝庫相對應(yīng)的預(yù)設(shè)的第三方函數(shù)解析庫,對上述 重新封裝后的函數(shù)進行解析;
[0009] 運行解析后的函數(shù),實現(xiàn)所述目標應(yīng)用升級。
[0010] 可選的,所述預(yù)設(shè)的第三方函數(shù)封裝庫,包括:LuaJava庫;
[0011] 所述預(yù)設(shè)的第三方函數(shù)解析庫,包括:LibLua庫;
[0012] 所述利用預(yù)設(shè)的第三方函數(shù)封裝庫,對所述目標應(yīng)用的更新文件所包含的函數(shù)進 行重新封裝,包括:
[0013] 利用Luajava庫的Java計算機編程語言部分,對所述目標應(yīng)用的更新文件所包含 的函數(shù)進行第一次重新封裝,其中,Luajava庫包括Java計算機編程語言部分和C計算機 編程語言部分;
[0014] 將第一次重新封裝后的函數(shù)傳遞給所述Luajava庫的C計算機編程語言部分,進 行第二次重新封裝,得到重新封裝后的函數(shù)。
[0015] 可選的,所述獲得目標應(yīng)用的更新文件,包括:
[0016] 向服務(wù)器發(fā)送應(yīng)用更新查詢請求;
[0017] 獲得所述服務(wù)器根據(jù)所述應(yīng)用更新查詢請求反饋的查詢結(jié)果;
[0018] 根據(jù)所述查詢結(jié)果,判斷是否存在所述目標應(yīng)用的更新文件;
[0019] 若存在,獲得所述目標應(yīng)用的更新文件。
[0020] 可選的,所述獲得目標應(yīng)用的更新文件,包括:
[0021] 接收服務(wù)器發(fā)送的所述目標應(yīng)用的最新版本信息;
[0022] 判斷所述目標應(yīng)用的當前版本信息與最新版本信息是否一致;
[0023] 若一致,獲得所述目標應(yīng)用的更新文件。
[0024] 可選的,在所述利用預(yù)設(shè)的第三方函數(shù)封裝庫,對所述目標應(yīng)用的更新文件所包 含的函數(shù)進行重新封裝之前,還包括:
[0025] 獲得用戶針對所述目標應(yīng)用的更新文件的操作指令;
[0026] 若所述操作指令為同意升級,則利用預(yù)設(shè)的第三方函數(shù)封裝庫,對所述目標應(yīng)用 的更新文件所包含的函數(shù)進行重新封裝。
[0027] 為達到上述目的,本發(fā)明實施例公開了一種應(yīng)用升級裝置,所述裝置包括:
[0028] 更新文件獲得模塊,用于獲得目標應(yīng)用的更新文件,其中,所述更新文件由第一種 計算機程序語言編寫,且能夠訪問第二種計算機程序語言編寫的文件;
[0029] 函數(shù)重封裝模塊,用于利用預(yù)設(shè)的第三方函數(shù)封裝庫,對所述目標應(yīng)用的更新文 件所包含的函數(shù)進行重新封裝;
[0030] 函數(shù)解析模塊,用于利用與所述預(yù)設(shè)的第三方函數(shù)封裝庫相對應(yīng)的預(yù)設(shè)的第三方 函數(shù)解析庫,對上述重新封裝后的函數(shù)進行解析;
[0031] 應(yīng)用升級模塊,用于運行解析后的函數(shù),實現(xiàn)所述目標應(yīng)用升級。
[0032] 可選的,所述預(yù)設(shè)的第三方函數(shù)封裝庫,包括:LuaJava庫;
[0033] 所述預(yù)設(shè)的第三方函數(shù)解析庫,包括:LibLua庫;
[0034] 所述函數(shù)重封裝模塊,包括:
[0035] 第一函數(shù)重封裝子模塊,用于利用Luajava庫的Java計算機編程語言部分,對所 述目標應(yīng)用的更新文件所包含的函數(shù)進行第一次重新封裝,其中,Luajava庫包括Java計 算機編程語言部分和C計算機編程語言部分;
[0036] 第二函數(shù)重封裝子模塊,用于將第一次重新封裝后的函數(shù)傳遞給所述Luajava庫 的C計算機編程語言部分,進行第二次重新封裝,得到重新封裝后的函數(shù)。
[0037] 可選的,所述更新文件獲得模塊,包括:
[0038] 查詢請求發(fā)送子模塊,用于向服務(wù)器發(fā)送應(yīng)用更新查詢請求,其中,所述應(yīng)用更新 查詢請求中,攜帶電子設(shè)備中已安裝應(yīng)用的標識和版本號;
[0039] 查詢結(jié)果反饋子模塊,用于獲得所述服務(wù)器根據(jù)所述應(yīng)用更新查詢請求反饋的查 詢結(jié)果;
[0040] 更新文件判斷子模塊,用于根據(jù)所述查詢結(jié)果,判斷是否存在所述目標應(yīng)用的更 新文件;
[0041] 第一更新文件獲得子模塊,用于在所述更新文件判斷子模塊的判斷結(jié)果為是的情 況下,獲得所述目標應(yīng)用的更新文件。
[0042] 可選的,所述更新文件獲得模塊,包括:
[0043] 版本信息接收子模塊,用于接收服務(wù)器發(fā)送的所述目標應(yīng)用的最新版本信息;
[0044] 版本信息判斷子模塊,用于判斷所述目標應(yīng)用的當前版本信息與最新版本信息是 否一致;
[0045] 第二更新文件獲得子模塊,用于在所述版本信息判斷子模塊的判斷結(jié)果為否的情 況下,獲得所述目標應(yīng)用的更新文件。
[0046] 可選的,所述應(yīng)用升級裝置還包括:
[0047] 操作指令獲得模塊,用于獲得用戶針對所述目標應(yīng)用的更新文件的操作指令,若 所述操作指令為同意升級,則觸發(fā)所述函數(shù)重封裝模塊對所述目標應(yīng)用的更新文件所包含 的函數(shù)進行重新封裝。
[0048] 由以上可見,本發(fā)明實施例提供的方案中,獲得目標應(yīng)用的更新文件后,利用預(yù)設(shè) 的第三方函數(shù)封裝庫對該目標應(yīng)用的更新文件所包含的函數(shù)進行重新封裝,并利用與預(yù)設(shè) 的第三方函數(shù)封裝庫相對應(yīng)的預(yù)設(shè)的第三方函數(shù)解析庫,對上述重新封裝后的函數(shù)進行解 析,再運行解析后的函數(shù),以實現(xiàn)目標應(yīng)用升級。與現(xiàn)有技術(shù)在安卓操作系統(tǒng)中進行應(yīng)用升 級相比,通過本發(fā)明實施例提供的方案進行應(yīng)用升級時,由于采用第三方函數(shù)封裝庫和第 三方函數(shù)解析庫對所獲得的更新文件進行重新封裝并解析,而不是采用安卓操作系統(tǒng)提供 的相關(guān)文件進行解析,所以能夠避開Google規(guī)定的應(yīng)用升級模式,從而開發(fā)者能夠結(jié)合自 身的實際情況編寫應(yīng)用升級文件。

【專利附圖】

【附圖說明】
[0049] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0050] 圖1為本發(fā)明實施例提供的應(yīng)用升級方法的第一種流程示意圖;
[0051] 圖2為本發(fā)明實施例提供的應(yīng)用升級方法的第二種流程示意圖;
[0052] 圖3為本發(fā)明實施例提供的應(yīng)用升級方法的第三種流程示意圖;
[0053] 圖4為本發(fā)明實施例提供的應(yīng)用升級裝置的第一種結(jié)構(gòu)示意圖;
[0054] 圖5為本發(fā)明實施例提供的應(yīng)用升級裝置的第二種結(jié)構(gòu)示意圖。

【具體實施方式】
[0055] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。
[0056] 由于不同操作系統(tǒng)對其中已安裝應(yīng)用的升級模式具有不同要求,所以,在進行應(yīng) 用升級程序開發(fā)時,受限于各個操作系統(tǒng)對升級模式的要求。具體的,例如,Google認為只 有用戶手動選擇并進行的應(yīng)用升級才是安全、可靠的,那么按照Google的要求,在安卓操 作系統(tǒng)中對應(yīng)用進行升級只能由用戶手動進行,然而,實際應(yīng)用中,用戶由于工作、時間等 原因,經(jīng)常不會選擇手動進行應(yīng)用升級,進而使得用戶無法及時修復(fù)應(yīng)用存在的漏洞或者 無法第一時間體驗到應(yīng)用的新功能等。鑒于上述的原因,本發(fā)明實施例提供了一種應(yīng)用升 級方法。
[0057] 下面先對本申請文件中涉及到的技術(shù)術(shù)語進行簡單介紹。
[0058] Lua :Lua 是巴西里約熱內(nèi)盧天主教大學(xué)(Pontifical Catholic University of Rio de Janeiro)里的一個研究小組,由 Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所組成,并于1993年開發(fā)的一種小巧的腳本語言。其設(shè)計目的是 為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴展和定制功能。Lua由標準C編寫而 成,幾乎在所有操作系統(tǒng)和平臺上都可以編譯、運行。Lua并沒有提供強大的庫,這是由它的 定位決定的。所以Lua不適合作為開發(fā)獨立應(yīng)用程序的語言。
[0059] Luajava :LuaJava是Java腳本工具。這個工具的目的是用Lua編寫Java組件開 發(fā)腳本。Luajava允許Lua本地對象在沒有做聲明或者預(yù)處理的條件下訪問和操作Java組 件。
[0060] LibLua :LibLua是負責解析Lua腳本并且調(diào)用對應(yīng)C函數(shù)的開發(fā)庫。簡單而言就 是能利用C函數(shù)去運行Lua腳本的庫。
[0061] 下面通過具體實例對本發(fā)明進行詳細介紹。
[0062] 圖1為本發(fā)明實施例提供的應(yīng)用升級方法的第一種流程示意圖,該方法包括:
[0063] S101 :獲得目標應(yīng)用的更新文件。
[0064] 本發(fā)明實施例提供的應(yīng)用升級方法的執(zhí)行主體為用戶設(shè)備中安裝的客戶端,其 中,用戶設(shè)備可以是計算機、平板電腦和手機等等。
[0065]目標應(yīng)用可以是用戶設(shè)備已安裝的應(yīng)用中當前正在運行的應(yīng)用,也可以是用戶設(shè) 備中已安裝的應(yīng)用中當前未運行的應(yīng)用。
[0066] 本實施例中,更新文件由第一種計算機程序語言編寫,且能夠訪問第二種計算機 程序語言編寫的文件,例如,更新文件由Lua腳本語言編寫,該更新文件可以訪問由Java編 程語言編寫的文件等等。
[0067] 具體的,獲得目標應(yīng)用的更新文件時,一種具體實現(xiàn)方式中,客戶端可以先向服務(wù) 器發(fā)送應(yīng)用更新查詢請求,服務(wù)器接收到客戶端發(fā)送的應(yīng)用更新查詢請求后,根據(jù)該請求 查詢是否存在應(yīng)用的更新文件,并將查詢結(jié)果反饋給客戶端,客戶端根據(jù)服務(wù)器反饋的查 詢結(jié)果,可判斷得知是否存在目標應(yīng)用的更新文件,若存在,獲得目標應(yīng)用的更新文件。 [0068] 上述的應(yīng)用更新查詢請求中可以攜帶電子設(shè)備中已安裝應(yīng)用的標識和版本號,當 然,本申請并不限定應(yīng)用更新查詢請求中所攜帶的信息。
[0069] 需要說明的是,應(yīng)用更新查詢請求中攜帶的電子設(shè)備中已安裝應(yīng)用的標識,可以 理解為目標應(yīng)用的標識,也可以理解為包含目標應(yīng)用的標識在內(nèi)的電子設(shè)備中多個或全部 已安裝應(yīng)用的標識。
[0070] 另一種具體實現(xiàn)方式中,客戶端還可以先接收服務(wù)器發(fā)送的目標應(yīng)用的最新版本 信息,再根據(jù)該最新版本信息,判斷目標應(yīng)用的當前版本信息與最新版本信息是否一致,若 不一致,獲得目標應(yīng)用的更新文件。
[0071] 其中,服務(wù)器向客戶端發(fā)送目標應(yīng)用的最新版本信息,可以是服務(wù)器檢測到目標 應(yīng)用進行了版本更新而觸發(fā)的,也可以是服務(wù)器接收到客戶端發(fā)送的觸發(fā)指令而觸發(fā)的, 例如,客戶端發(fā)送的觸發(fā)指令所包含的信息可以是在用戶設(shè)備中已啟動目標應(yīng)用等等。
[0072] 另外,上述的目標應(yīng)用的更新文件可以是針對目標應(yīng)用的一個或多個功能模塊的 升級文件,目標應(yīng)用在運行狀態(tài)下進行應(yīng)用升級時,若無特殊要求可以不退出目標應(yīng)用而 直接進行升級。
[0073] S102:利用預(yù)設(shè)的第三方函數(shù)封裝庫,對目標應(yīng)用的更新文件所包含的函數(shù)進行 重新封裝。
[0074] 實際應(yīng)用中,應(yīng)用本發(fā)明實施例提供的應(yīng)用升級方法進行升級時,所需的第三方 函數(shù)封裝庫與更新文件的類型相關(guān),重封裝不同類型的更新文件中包含的函數(shù)需要不同的 第三方函數(shù)封裝庫,例如,Lua腳本文件中包含的函數(shù)可以采用Luajava庫進行重封裝等 等。
[0075] 當然,第三方函數(shù)封裝庫并不僅限于上述的幾種,實際應(yīng)用中可以根據(jù)更新文件 的具體類型確定。
[0076] 另外,本領(lǐng)域內(nèi)的技術(shù)人員可以理解的是,重封裝不同類型的更新文件中包含的 函數(shù)所需的第三方函數(shù)封裝庫還與操作系統(tǒng)相關(guān),例如,在安卓操作系統(tǒng)中重封裝Lua腳 本文件中包含的函數(shù)所需的第三方函數(shù)封裝庫可以為Luajava庫,而在ios操作系統(tǒng)中重 封裝Lua腳本文件包含的函數(shù)所需的第三方函數(shù)封裝庫則不同。
[0077] S103:利用與預(yù)設(shè)的第三方函數(shù)封裝庫相對應(yīng)的預(yù)設(shè)的第三方函數(shù)解析庫,對上 述重新封裝后的函數(shù)進行解析。
[0078] 對重新封裝后的函數(shù)進行解析時,所采用的第三方函數(shù)解析庫應(yīng)該是與前述函數(shù) 封裝庫相對應(yīng)的。
[0079] 例如,在第三方函數(shù)封裝庫為Luajava庫時,第三方函數(shù)解析庫可以選擇LibLua 庫。
[0080] S104 :運行解析后的函數(shù),實現(xiàn)目標應(yīng)用升級。
[0081] 由以上可見,本實施例提供的方案中,獲得目標應(yīng)用的更新文件后,利用預(yù)設(shè)的第 三方函數(shù)封裝庫對該目標應(yīng)用的更新文件所包含的函數(shù)進行重新封裝,并利用與預(yù)設(shè)的第 三方函數(shù)封裝庫相對應(yīng)的預(yù)設(shè)的第三方函數(shù)解析庫,對上述重新封裝后的函數(shù)進行解析, 再運行解析后的函數(shù),以實現(xiàn)目標應(yīng)用升級。與現(xiàn)有技術(shù)在安卓操作系統(tǒng)中進行應(yīng)用升級 相比,通過本實施例提供的方案進行應(yīng)用升級時,由于采用第三方函數(shù)封裝庫和第三方函 數(shù)解析庫對所獲得的更新文件進行重新封裝并解析,而不是采用安卓操作系統(tǒng)提供的相關(guān) 文件進行解析,所以能夠避開Google規(guī)定的應(yīng)用升級模式,從而開發(fā)者能夠結(jié)合自身的實 際情況編寫應(yīng)用升級文件。
[0082] 由前述描述可知,預(yù)設(shè)的第三方函數(shù)封裝庫可以為Luajava庫,對應(yīng)的預(yù)設(shè)的第 三方函數(shù)解析庫可以為LibLua庫,在本發(fā)明的一個優(yōu)選實施例中,參見圖2,提供了應(yīng)用升 級方法的第二種流程示意圖,與前述實施例相比,本實施例中,
[0083] 利用預(yù)設(shè)的第三方函數(shù)封裝庫,對目標應(yīng)用的更新文件所包含的函數(shù)進行重新封 裝(S102),包括:
[0084] S102A :利用Luajava庫的Java計算機編程語言部分,對目標應(yīng)用的更新文件所包 含的函數(shù)進行第一次重新封裝。
[0085] 其中,Luajava庫包括Java計算機編程語言部分和C計算機編程語言部分,目標 應(yīng)用的更新文件為Lua腳本文件。
[0086] S102B :將第一次重新封裝后的函數(shù)傳遞給Luajava庫的C計算機編程語言部分, 進行第二次重新封裝,得到重新封裝后的函數(shù)。
[0087] 實際應(yīng)用中,可以通過JNI (Java Native Interface, Java本地調(diào)用)接口將第一 次重新封裝后的函數(shù)傳遞給Luajava庫的C部分,當然,也可以通過其他接口傳遞,本申請 并不對此進行限定。
[0088] 其中,JNI是Java平臺的一部分,它允許通過java編寫的代碼和通過其他語言編 寫的代碼進行交互,例如,與C語言和C++語言等。
[0089] 利用與預(yù)設(shè)的第三方函數(shù)封裝庫相對應(yīng)的預(yù)設(shè)的第三方函數(shù)解析庫,對上述重新 封裝后的函數(shù)進行解析(S103),具體為:
[0090] S103A :利用與Luajava庫相對應(yīng)的預(yù)設(shè)的第三方函數(shù)解析庫,對上述重新封裝后 的函數(shù)進行解析。
[0091] 由以上可見,本實施例提供的方案中,利用第三方函數(shù)封裝庫對目標應(yīng)用的更新 文件進行重封裝,并利用與第三方函數(shù)封裝庫相對應(yīng)的第三方函數(shù)解析庫對重封裝后的函 數(shù)進行解析,根據(jù)解析結(jié)果實現(xiàn)目標應(yīng)用升級。與現(xiàn)有技術(shù)在安卓操作系統(tǒng)中進行應(yīng)用升 級相比,由于Luajava庫和LibLua庫為第三方函數(shù)封裝庫和解析庫,在函數(shù)重封裝和解析 過程中無需安卓操作系統(tǒng)提供的相關(guān)文件,進而能夠避開Google規(guī)定的應(yīng)用升級模式,從 而可以實現(xiàn)自動進行應(yīng)用升級,而無需用戶手動干預(yù)。
[0092] 在本發(fā)明的另一優(yōu)選實施例中,參見圖3,提供了應(yīng)用升級方法的第三種流程示意 圖,與前述實施例相比,本實施例中該方法還包括:
[0093] S105 :獲得用戶針對目標應(yīng)用的更新文件的操作指令。
[0094] 考慮到不同用戶的實際情況各不相同,在獲得目標應(yīng)用的更新文件后,可以提示 用戶已經(jīng)獲得了目標應(yīng)用的更新文件,在用戶給出針對目標應(yīng)用的更新文件的操作指令為 同意升級的情況,再利用預(yù)設(shè)的第三方文件解析庫對目標應(yīng)用的更新文件進行解析。
[0095] 由以上可見,本實施例提供的方案中,在獲得目標應(yīng)用的更新文件之后,先獲得用 戶針對目標應(yīng)用的更新文件的操作指令,在用戶同意升級的情況下,利用第三方函數(shù)封裝 庫和與該第三方函數(shù)封裝庫相對應(yīng)的第三方函數(shù)解析庫進行函數(shù)封裝和解析,并實現(xiàn)目標 應(yīng)用升級??梢姳緦嵤├校诒荛_Google規(guī)定的應(yīng)用升級模式的同時,兼顧了用戶的應(yīng) 用升級意愿,能夠提高用戶的體驗效果。
[0096] 與上述的應(yīng)用升級方法相對應(yīng),本發(fā)明實施例還提供了 一種應(yīng)用升級裝置。
[0097] 圖4為本發(fā)明實施例提供的應(yīng)用升級裝置的第一種結(jié)構(gòu)示意圖,該裝置包括:更 新文件獲得模塊401、函數(shù)重封裝模塊402、函數(shù)解析模塊403和應(yīng)用升級模塊404。
[0098] 其中,更新文件獲得模塊401,用于獲得目標應(yīng)用的更新文件,其中,所述更新文件 由第一種計算機程序語言編寫,且能夠訪問第二種計算機程序語言編寫的文件;
[0099] 函數(shù)重封裝模塊402,用于利用預(yù)設(shè)的第三方函數(shù)封裝庫,對所述目標應(yīng)用的更新 文件所包含的函數(shù)進行重新封裝;
[0100] 函數(shù)解析模塊403,用于利用與所述預(yù)設(shè)的第三方函數(shù)封裝庫相對應(yīng)的預(yù)設(shè)的第 三方函數(shù)解析庫,對上述重新封裝后的函數(shù)進行解析;
[0101] 應(yīng)用升級模塊404,用于運行解析后的函數(shù),實現(xiàn)所述目標應(yīng)用升級。
[0102] 具體的,所述預(yù)設(shè)的第三方函數(shù)封裝庫可以包括:LuaJava庫;
[0103] 所述預(yù)設(shè)的第三方函數(shù)解析庫可以包括:LibLua庫;
[0104] 在預(yù)設(shè)的第三方函數(shù)封裝庫包括Luajava庫的情況下,函數(shù)重封裝模塊402包括: 第一函數(shù)重封裝子模塊和第二函數(shù)重封裝子模塊(圖中未示出)。
[0105] 第一函數(shù)重封裝子模塊,用于利用Luajava庫的Java計算機編程語言部分,對所 述目標應(yīng)用的更新文件所包含的函數(shù)進行第一次重新封裝,其中,Luajava庫包括Java計 算機編程語言部分和C計算機編程語言部分;
[0106] 第二函數(shù)重封裝子模塊,用于將第一次重新封裝后的函數(shù)傳遞給所述Luajava庫 的C計算機編程語言部分,進行第二次重新封裝,得到重新封裝后的函數(shù)。
[0107] 在本發(fā)明的另一具體實施例中,更新文件獲得模塊401包括:查詢請求發(fā)送子 模塊、查詢結(jié)果反饋子模塊、更新文件判斷子模塊和第一更新文件獲得子模塊(圖中未示 出)。
[0108] 其中,查詢請求發(fā)送子模塊,用于向服務(wù)器發(fā)送應(yīng)用更新查詢請求,其中,所述應(yīng) 用更新查詢請求中,攜帶電子設(shè)備中已安裝應(yīng)用的標識和版本號;
[0109] 查詢結(jié)果反饋子模塊,用于獲得所述服務(wù)器根據(jù)所述應(yīng)用更新查詢請求反饋的查 詢結(jié)果;
[0110] 更新文件判斷子模塊,用于根據(jù)所述查詢結(jié)果,判斷是否存在所述目標應(yīng)用的更 新文件;
[0111] 第一更新文件獲得子模塊,用于在所述更新文件判斷子模塊的判斷結(jié)果為是的情 況下,獲得所述目標應(yīng)用的更新文件。
[0112] 在本發(fā)明的另一個具體實施例中,更新文件獲得模塊401包括:版本信息接收子 模塊、版本信息判斷子模塊和第二更新文件獲得子模塊(圖中未示出)。
[0113] 其中,版本信息接收子模塊,用于接收服務(wù)器發(fā)送的所述目標應(yīng)用的最新版本信 息;
[0114] 版本信息判斷子模塊,用于判斷所述目標應(yīng)用的當前版本信息與最新版本信息是 否一致;
[0115] 第二更新文件獲得子模塊,用于在所述版本信息判斷子模塊的判斷結(jié)果為否的情 況下,獲得所述目標應(yīng)用的更新文件。
[0116] 由以上可見,本實施例提供的方案中,獲得目標應(yīng)用的更新文件后,利用預(yù)設(shè)的第 三方函數(shù)封裝庫對該目標應(yīng)用的更新文件所包含的函數(shù)進行重新封裝,并利用與第三方函 數(shù)封裝庫相對應(yīng)的預(yù)設(shè)的第三方函數(shù)解析庫,對上述重新封裝后的函數(shù)進行解析,再運行 解析后的函數(shù),以實現(xiàn)目標應(yīng)用升級。與現(xiàn)有技術(shù)在安卓操作系統(tǒng)中進行應(yīng)用升級相比,通 過本實施例提供的方案進行應(yīng)用升級時,由于采用第三方函數(shù)封裝庫和第三方函數(shù)解析庫 對所獲得的更新文件進行重新封裝并解析,而不是采用安卓操作系統(tǒng)提供的相關(guān)文件進行 解析,所以能夠避開Google規(guī)定的應(yīng)用升級模式,從而開發(fā)者能夠結(jié)合自身的實際情況編 寫應(yīng)用升級文件。
[0117] 在本發(fā)明的另一個具體實施例中,參見圖5,提供了應(yīng)用升級裝置的第二種結(jié)構(gòu)示 意圖,與前述實施例相比,該裝置還包括:操作指令獲得模塊405。
[0118] 其中,操作指令獲得模塊405,用于獲得用戶針對所述目標應(yīng)用的更新文件的操作 指令,若所述操作指令為同意升級,則觸發(fā)所述函數(shù)重封裝模塊對所述目標應(yīng)用的更新文 件所包含的函數(shù)進行重新封裝。
[0119] 由以上可見,本實施例提供的方案中,在獲得目標應(yīng)用的更新文件之后,先獲得用 戶針對目標應(yīng)用的更新文件的操作指令,在用戶同意升級的情況下,利用第三方函數(shù)封裝 庫和與該第三方函數(shù)封裝庫相對應(yīng)的第三方函數(shù)解析庫進行函數(shù)封裝和解析,并實現(xiàn)目標 應(yīng)用升級??梢姳緦嵤├校诒荛_Google規(guī)定的應(yīng)用升級模式的同時,兼顧了用戶的應(yīng) 用升級意愿,能夠提高用戶的體驗效果。
[0120] 對于裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān) 之處參見方法實施例的部分說明即可。
[0121] 需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實 體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存 在任何這種實際的關(guān)系或者順序。而且,術(shù)語"包括"、"包含"或者其任何其他變體意在涵 蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要 素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備 所固有的要素。在沒有更多限制的情況下,由語句"包括一個……"限定的要素,并不排除 在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0122] 本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施方式中的全部或部分步驟是可 以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于計算機可讀取存儲介質(zhì)中, 這里所稱得的存儲介質(zhì),如:R0M/RAM、磁碟、光盤等。
[0123] 以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在 本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍 內(nèi)。
【權(quán)利要求】
1. 一種應(yīng)用升級方法,其特征在于,所述方法包括: 獲得目標應(yīng)用的更新文件,其中,所述更新文件由第一種計算機程序語言編寫,且能夠 訪問第二種計算機程序語言編寫的文件; 利用預(yù)設(shè)的第三方函數(shù)封裝庫,對所述目標應(yīng)用的更新文件所包含的函數(shù)進行重新封 裝; 利用與所述預(yù)設(shè)的第三方函數(shù)封裝庫相對應(yīng)的預(yù)設(shè)的第三方函數(shù)解析庫,對上述重新 封裝后的函數(shù)進行解析; 運行解析后的函數(shù),實現(xiàn)所述目標應(yīng)用升級。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述預(yù)設(shè)的第三方函數(shù)封裝庫,包括:LuaJava庫; 所述預(yù)設(shè)的第三方函數(shù)解析庫,包括:LibLua庫; 所述利用預(yù)設(shè)的第三方函數(shù)封裝庫,對所述目標應(yīng)用的更新文件所包含的函數(shù)進行重 新封裝,包括: 利用Luajava庫的Java計算機編程語言部分,對所述目標應(yīng)用的更新文件所包含的函 數(shù)進行第一次重新封裝,其中,Luajava庫包括Java計算機編程語言部分和C計算機編程 語言部分; 將第一次重新封裝后的函數(shù)傳遞給所述Luajava庫的C計算機編程語言部分,進行第 二次重新封裝,得到重新封裝后的函數(shù)。
3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述獲得目標應(yīng)用的更新文件,包 括: 向服務(wù)器發(fā)送應(yīng)用更新查詢請求; 獲得所述服務(wù)器根據(jù)所述應(yīng)用更新查詢請求反饋的查詢結(jié)果; 根據(jù)所述查詢結(jié)果,判斷是否存在所述目標應(yīng)用的更新文件; 若存在,獲得所述目標應(yīng)用的更新文件。
4. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述獲得目標應(yīng)用的更新文件,包 括: 接收服務(wù)器發(fā)送的所述目標應(yīng)用的最新版本信息; 判斷所述目標應(yīng)用的當前版本信息與最新版本信息是否一致; 若一致,獲得所述目標應(yīng)用的更新文件。
5. 根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述利用預(yù)設(shè)的第三方函數(shù)封裝庫,對 所述目標應(yīng)用的更新文件所包含的函數(shù)進行重新封裝之前,還包括: 獲得用戶針對所述目標應(yīng)用的更新文件的操作指令; 若所述操作指令為同意升級,則利用預(yù)設(shè)的第三方函數(shù)封裝庫,對所述目標應(yīng)用的更 新文件所包含的函數(shù)進行重新封裝。
6. -種應(yīng)用升級裝置,其特征在于,所述裝置包括: 更新文件獲得模塊,用于獲得目標應(yīng)用的更新文件,其中,所述更新文件由第一種計算 機程序語言編寫,且能夠訪問第二種計算機程序語言編寫的文件; 函數(shù)重封裝模塊,用于利用預(yù)設(shè)的第三方函數(shù)封裝庫,對所述目標應(yīng)用的更新文件所 包含的函數(shù)進行重新封裝; 函數(shù)解析模塊,用于利用與所述預(yù)設(shè)的第三方函數(shù)封裝庫相對應(yīng)的預(yù)設(shè)的第三方函數(shù) 解析庫,對上述重新封裝后的函數(shù)進行解析; 應(yīng)用升級模塊,用于運行解析后的函數(shù),實現(xiàn)所述目標應(yīng)用升級。
7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于, 所述預(yù)設(shè)的第三方函數(shù)封裝庫,包括:LuaJava庫; 所述預(yù)設(shè)的第三方函數(shù)解析庫,包括:LibLua庫; 所述函數(shù)重封裝模塊,包括: 第一函數(shù)重封裝子模塊,用于利用Luajava庫的Java計算機編程語言部分,對所述目 標應(yīng)用的更新文件所包含的函數(shù)進行第一次重新封裝,其中,Luajava庫包括Java計算機 編程語言部分和C計算機編程語言部分; 第二函數(shù)重封裝子模塊,用于將第一次重新封裝后的函數(shù)傳遞給所述Luajava庫的C 計算機編程語言部分,進行第二次重新封裝,得到重新封裝后的函數(shù)。
8. 根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述更新文件獲得模塊,包括: 查詢請求發(fā)送子模塊,用于向服務(wù)器發(fā)送應(yīng)用更新查詢請求; 查詢結(jié)果反饋子模塊,用于獲得所述服務(wù)器根據(jù)所述應(yīng)用更新查詢請求反饋的查詢結(jié) 果; 更新文件判斷子模塊,用于根據(jù)所述查詢結(jié)果,判斷是否存在所述目標應(yīng)用的更新文 件; 第一更新文件獲得子模塊,用于在所述更新文件判斷子模塊的判斷結(jié)果為是的情況 下,獲得所述目標應(yīng)用的更新文件。
9. 根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述更新文件獲得模塊,包括: 版本信息接收子模塊,用于接收服務(wù)器發(fā)送的所述目標應(yīng)用的最新版本信息; 版本信息判斷子模塊,用于判斷所述目標應(yīng)用的當前版本信息與最新版本信息是否一 致; 第二更新文件獲得子模塊,用于在所述版本信息判斷子模塊的判斷結(jié)果為否的情況 下,獲得所述目標應(yīng)用的更新文件。
10. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 操作指令獲得模塊,用于獲得用戶針對所述目標應(yīng)用的更新文件的操作指令,若所述 操作指令為同意升級,則觸發(fā)所述函數(shù)重封裝模塊對所述目標應(yīng)用的更新文件所包含的函 數(shù)進行重新封裝。
【文檔編號】G06F9/445GK104123168SQ201410387215
【公開日】2014年10月29日 申請日期:2014年8月7日 優(yōu)先權(quán)日:2014年8月7日
【發(fā)明者】鄺銳強 申請人:廣州金山網(wǎng)絡(luò)科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1