欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

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

文檔序號:6536697閱讀:163來源:國知局
一種應(yīng)用程序升級的方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種應(yīng)用程序升級的方法及裝置,其中,所述方法包括:獲取待升級的應(yīng)用程序的安裝包;從所述安裝包中提取指定的組件對象信息;依據(jù)所述指定的組件對象信息確定所述應(yīng)用程序中指定的組件對象;采用所述指定的組件對象信息加載所述指定的組件對象。本發(fā)明用以解決程序升級過程繁瑣的問題,不需要用戶進(jìn)行升級操作也可完成應(yīng)用程序的升級,能夠快速完成升級,提高用戶體驗度。
【專利說明】一種應(yīng)用程序升級的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理的【技術(shù)領(lǐng)域】,具體涉及一種應(yīng)用程序升級的方法,以及,一種應(yīng)用程序升級的裝置。
【背景技術(shù)】
[0002]在具體實現(xiàn)中,應(yīng)用程序經(jīng)過一段時間的使用,就會逐步顯現(xiàn)出自身的一些漏洞和缺陷,這些漏洞和缺陷無法滿足日益發(fā)展應(yīng)用程序的要求,因此應(yīng)用程序開發(fā)商必須定期或者不定期對應(yīng)用程序本身的漏洞和缺陷進(jìn)行修復(fù)和更正,因此不斷產(chǎn)生新的應(yīng)用程序的安裝包,以滿足應(yīng)用程序升級的要求。
[0003]用戶要更新應(yīng)用程序時,需要先下載該應(yīng)用程序的安裝包放到指定位置,再去使用該安裝包,通常會彈出系統(tǒng)提示框,用戶根據(jù)提示進(jìn)行相應(yīng)的操作才可以升級該應(yīng)用程序。另外,由于應(yīng)用程序的升級是一個持續(xù)的過程,所以會不斷出現(xiàn)新的安裝包,用戶也需要不斷地進(jìn)行更新,對于部分用戶來說,升級過程比較繁瑣,且需要耗費(fèi)一定的時間,用戶的體驗效果差。

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

[0004]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種應(yīng)用程序升級的方法,以及,一種應(yīng)用程序升級的裝置。
[0005]依據(jù)本發(fā)明的一個方面,提供了一種應(yīng)用程序升級的方法,包括:
[0006]獲取待升級的應(yīng)用程序的安裝包;
[0007]從所述安裝包中提取指定的組件對象信息;
[0008]依據(jù)所述指定的組件對象信息確定所述應(yīng)用程序中指定的組件對象;
[0009]采用所述指定的組件對象信息加載所述指定的組件對象。
[0010]可選地,所述指定的組件對象信息包括當(dāng)前類加載器的目錄地址,所述應(yīng)用程序中指定的組件對象包括類加載器;
[0011]所述采用指定的組件對象信息加載所述指定的組件對象的步驟包括:
[0012]采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始類加載器的目錄地址;
[0013]將原始類加載器的目錄地址修改為當(dāng)前類加載器的目錄地址。
[0014]從所述當(dāng)前類加載器的目錄地址加載所述類加載器。
[0015]可選地,所述指定的組件對象信息包括當(dāng)前應(yīng)用對象的目錄地址,所述應(yīng)用程序中指定的組件對象包括應(yīng)用對象;
[0016]所述采用指定的組件對象信息加載所述指定的組件對象的步驟包括:
[0017]采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始應(yīng)用對象的目錄地址;
[0018]將原始應(yīng)用對象的目錄地址修改為當(dāng)前應(yīng)用對象的目錄地址。[0019]從所述當(dāng)前應(yīng)用對象的目錄地址加載所述應(yīng)用對象。
[0020]可選地,所述指定的組件對象信息包括當(dāng)前資源數(shù)據(jù)的目錄地址,所述應(yīng)用程序中指定的組件對象包括資源數(shù)據(jù);
[0021]所述采用指定的組件對象信息加載所述指定的組件對象的步驟包括:
[0022]采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始資源數(shù)據(jù)的目錄地址;
[0023]將原始資源數(shù)據(jù)的目錄地址修改為當(dāng)前資源數(shù)據(jù)的目錄地址。
[0024]從所述當(dāng)前資源數(shù)據(jù)的目錄地址加載所述資源數(shù)據(jù)。
[0025]可選地,所述指定的組件對象信息包括當(dāng)前包管理器的目錄地址,所述應(yīng)用程序中指定的組件對象包括包管理器;
[0026]所述采用指定的組件對象信息加載所述指定的組件對象的步驟包括:
[0027]采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始包管理器的目錄地址;
[0028]將原始包管理器的目錄地址修改為當(dāng)前包管理器的目錄地址。
[0029]從所述當(dāng)前包管理器的目錄地址加載所述包管理器。
[0030]根據(jù)本發(fā)明的另一方面,提供了一種應(yīng)用程序升級的裝置,包括:
[0031]獲取模塊,適于獲取待升級的應(yīng)用程序的安裝包;
[0032]提取模塊,適于從所述安裝包中提取指定的組件對象信息;
[0033]確定模塊,適于依據(jù)所述指定的組件對象信息確定所述應(yīng)用程序中指定的組件對象;
[0034]加載模塊,適于采用所述指定的組件對象信息加載所述指定的組件對象。
[0035]可選地,所述指定的組件對象信息包括當(dāng)前類加載器的目錄地址,所述應(yīng)用程序中指定的組件對象包括類加載器;
[0036]所述加載模塊包括:
[0037]第一地址獲取子模塊,適于采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始類加載器的目錄地址;
[0038]第一地址修改子模塊,適于將原始類加載器的目錄地址修改為當(dāng)前類加載器的目錄地址。
[0039]第一加載子模塊,適于從所述當(dāng)前類加載器的目錄地址加載所述類加載器。
[0040]可選地,所述指定的組件對象信息包括當(dāng)前應(yīng)用對象的目錄地址,所述應(yīng)用程序中指定的組件對象包括應(yīng)用對象;
[0041]所述加載模塊包括:
[0042]第二地址獲取子模塊,適于采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始應(yīng)用對象的目錄地址;
[0043]第二地址修改子模塊,適于將原始應(yīng)用對象的目錄地址修改為當(dāng)前應(yīng)用對象的目錄地址。
[0044]第二加載子模塊,適于從所述當(dāng)前應(yīng)用對象的目錄地址加載所述應(yīng)用對象。
[0045]可選地,所述指定的組件對象信息包括當(dāng)前資源數(shù)據(jù)的目錄地址,所述應(yīng)用程序中指定的組件對象包括資源數(shù)據(jù);[0046]所述加載模塊包括:
[0047]第三地址獲取子模塊,適于采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始資源數(shù)據(jù)的目錄地址;
[0048]第三地址修改子模塊,適于將原始資源數(shù)據(jù)的目錄地址修改為當(dāng)前資源數(shù)據(jù)的目錄地址。
[0049]第三加載子模塊,適于從所述當(dāng)前資源數(shù)據(jù)的目錄地址加載所述資源數(shù)據(jù)。
[0050]可選地,所述指定的組件對象信息包括當(dāng)前包管理器的目錄地址,所述應(yīng)用程序中指定的組件對象包括包管理器;
[0051]所述加載模塊包括:
[0052]第四地址獲取子模塊,適于采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始包管理器的目錄地址;
[0053]第四地址修改子模塊,適于將原始包管理器的目錄地址修改為當(dāng)前包管理器的目錄地址。
[0054]第四加載子模塊,適于從所述當(dāng)前包管理器的目錄地址加載所述包管理器。
[0055]根據(jù)本發(fā)明的一種應(yīng)用程序升級的方法,以及,一種應(yīng)用程序升級的裝置,可以在獲取到應(yīng)用程序的安裝包后,提取按照包中指定的組件對象信息,并根據(jù)指定的組件對象信息確定應(yīng)用程序中的指定組件對象,采用該指定的組件對象信息加載指定的組件對象,打破了 android規(guī)定的權(quán)限,通過將對象組件由原始的加載地址,重定向到安裝包中新的地址來加載組件對象,實現(xiàn)了應(yīng)用程序的自動升級,由此解決了傳統(tǒng)應(yīng)用程序升級過程繁瑣的問題,不需要用戶進(jìn)行升級操作也可完成應(yīng)用程序的升級,取得了快速完成升級,提高用戶體驗度的有益效果。
[0056]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【專利附圖】

【附圖說明】
[0057]通過閱讀下文優(yōu)選實施方式的詳細(xì)描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0058]圖1示出了根據(jù)本發(fā)明一個實施例的一種應(yīng)用程序升級的方法實施例的步驟流程圖;
[0059]圖2示出了根據(jù)本發(fā)明一個實施例的一種應(yīng)用程序升級的裝置實施例的結(jié)構(gòu)框圖。
【具體實施方式】
[0060]下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。[0061]參照圖1,示出了根據(jù)本發(fā)明一個實施例的一種應(yīng)用程序升級的方法實施例的步驟流程圖,具體可以包括如下步驟:
[0062]步驟101,獲取待升級的應(yīng)用程序的安裝包;
[0063]在本發(fā)明的實施例中,應(yīng)用程序可以是適用于計算設(shè)備的版本或者適用于移動設(shè)備的版本。例如,計算設(shè)備版本的手機(jī)助手應(yīng)用程序,如PC版的手機(jī)助手應(yīng)用程序,或者,移動設(shè)備版本的手機(jī)助手應(yīng)用程序,如Android版的手機(jī)助手應(yīng)用程序。
[0064]在具體實現(xiàn)中,終端設(shè)備中安裝有很多應(yīng)用程序,可以包括用戶安裝的應(yīng)用程序和系統(tǒng)內(nèi)置的應(yīng)用程序。應(yīng)用程序所在的終端設(shè)備可以預(yù)設(shè)檢測機(jī)制來檢測是否存在新的APK (Android Package,安裝包),例如,可以在終端設(shè)備安裝手機(jī)助手或者其他應(yīng)用程序,用以查詢該終端設(shè)備有哪些應(yīng)用程序需要升級。具體地,當(dāng)手機(jī)助手檢測到需要升級的應(yīng)用程序較多時,終端設(shè)備側(cè)的手機(jī)助手可以將已安裝應(yīng)用的應(yīng)用程序包名和應(yīng)用程序版本號以Gzip格式壓縮處理,然后通過HTTP請求的形式發(fā)送到網(wǎng)絡(luò)側(cè)服務(wù)器,從而獲取到經(jīng)過安全檢測中心的審核認(rèn)證,綠色無毒,安全的APK。采用手機(jī)助手獲取應(yīng)用程序APK的方式,可以節(jié)省流量,并且更快捷、更方便、更安全地獲取網(wǎng)絡(luò)資源。
[0065]在實際應(yīng)用中,手機(jī)助手可以設(shè)置為每隔預(yù)定時間間隔檢測一次,當(dāng)檢測到網(wǎng)絡(luò)側(cè)服務(wù)器存在新的APK時,通過HTTP請求的形式或者其他方式來獲取APK,為了保護(hù)獲取到的新的APK,方便用戶管理或者數(shù)據(jù)讀取,可以將其存儲到指定的位置,比如安裝到移動設(shè)備內(nèi)存或者移動設(shè)備SD卡中,另外,還可以采用智能的方式根據(jù)APK的特征(APK的大小)安裝到合適的位置。在具體實現(xiàn)中,可以優(yōu)先考慮將APK存儲于SD卡中,方便用戶管理,同時不會占用因為移動設(shè)備內(nèi)存,而導(dǎo)致移動設(shè)備速度的變慢。例如,可以將APK保存于:sdcard/download/data。
[0066]當(dāng)然,在實際應(yīng)用中,也可以是服務(wù)器發(fā)布有新的APK時,主動將該APK發(fā)送給終端設(shè)備,本發(fā)明實施例對此不作限制。
[0067]步驟102,從所述安裝包中提取指定的組件對象信息;
[0068]在實際應(yīng)用中,可以事先在應(yīng)用程序中設(shè)置相應(yīng)的配置信息,其中,在所述配置信息中可以設(shè)置獲取組件對象信息的指示信息,當(dāng)獲取到帶升級的應(yīng)用程序的APK時,依據(jù)配置信息從APK中獲取指定的組件對象信息。
[0069]步驟103,依據(jù)所述指定的組件對象信息確定所述應(yīng)用程序中指定的組件對象;
[0070]在本發(fā)明實施例中,可以從APK中提取指定的組件對象信息,再根據(jù)組件對象信息來確定應(yīng)用程序中需要進(jìn)行升級的組件對象。
[0071]步驟104,采用所述指定的組件對象信息加載所述指定的組件對象。
[0072]在本發(fā)明的一種優(yōu)選實施例中,所述指定的組件對象信息包括當(dāng)前類加載器的目錄地址,所述應(yīng)用程序中指定的組件對象可以包括類加載器;
[0073]所述步驟104可以包括如下子步驟:
[0074]子步驟S11,采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始類加載器的目錄地址;
[0075]子步驟S12,將原始類加載器的目錄地址修改為當(dāng)前類加載器的目錄地址。
[0076]子步驟S13,從所述當(dāng)前類加載器的目錄地址加載所述類加載器。
[0077]在本發(fā)明實施例中,由于在Android系統(tǒng)中,一些未公開的功能不可以通過API接口直接調(diào)用,因此采用JAVA反射機(jī)制來調(diào)用一些未公開的功能,來實應(yīng)用程序的升級。具體而言,JAVA反射機(jī)制是在應(yīng)用程序在運(yùn)行狀態(tài)中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調(diào)用它的任意一個方法和屬性;這種動態(tài)獲取的信息以及動態(tài)調(diào)用對象的方法的功能稱為JAVA語言的反射機(jī)制。
[0078]當(dāng)運(yùn)行應(yīng)用程序時,首先運(yùn)行JVM (Java虛擬機(jī)),再將應(yīng)用程序的類加載到JVM里頭運(yùn)行,負(fù)責(zé)加載應(yīng)用程序的類的這部分就是類加載器。在本發(fā)明實施例中,修改類加載器的目的在于修改應(yīng)用程序的代碼,具體修改的代碼可以包括應(yīng)用程序中的類。采用JAVA反射機(jī)制將應(yīng)用程序中原始類加載器的目錄地址修改為新的APK中類加載器的目錄地址,當(dāng)應(yīng)用程序再次加載時,可以直接從新的類加載器的目錄地址加載,修改后的類加載器在應(yīng)用程序啟動時需要加載的類也被修改,那么就可以實現(xiàn)例如應(yīng)用程序新功能的增加,應(yīng)用程序中BUG的修改等應(yīng)用程序的升級。
[0079]在本發(fā)明的一種優(yōu)選實施例中,所述指定的組件對象信息可以包括當(dāng)前應(yīng)用對象的目錄地址,所述應(yīng)用程序中指定的組件對象可以包括應(yīng)用對象;
[0080]所述步驟104可以包括如下子步驟:
[0081]子步驟S21,采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始應(yīng)用對象的目錄地址;
[0082]子步驟S22,將原始應(yīng)用對象的目錄地址修改為當(dāng)前應(yīng)用對象的目錄地址。
[0083]子步驟S23,從所述當(dāng)前應(yīng)用對象的目錄地址加載所述應(yīng)用對象。
[0084]在本發(fā)明實施例中,修改應(yīng)用對象的目的在于修改應(yīng)用程序中的啟動邏輯順序,具體而言,即應(yīng)用程序中的類的加載順序。在具體實現(xiàn)中,經(jīng)過應(yīng)用程序一段時間的使用,發(fā)現(xiàn)應(yīng)用程序中采用其他順序來加載類可以更好地使用應(yīng)用程序,或者,應(yīng)用程序通過修改類加載器增加了新的功能,可以采用反射機(jī)制將應(yīng)用對象的加載地址修改為新的APK中應(yīng)用對象的加載地址,當(dāng)應(yīng)用程序再次加載時可以直接從新的應(yīng)用對象的目錄地址加載,應(yīng)用程序中類的啟動邏輯順序就發(fā)生了變化,例如,應(yīng)用程序啟動時將啟動新增加功能部分。
[0085]在本發(fā)明的一種優(yōu)選實施例中,所述指定的組件對象信息包括當(dāng)前資源數(shù)據(jù)的目錄地址,所述應(yīng)用程序中指定的組件對象包括資源數(shù)據(jù);
[0086]所述步驟104可以包括如下子步驟:
[0087]子步驟S31,采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始資源數(shù)據(jù)的目錄地址;
[0088]子步驟S32,將原始資源數(shù)據(jù)的目錄地址修改為當(dāng)前資源數(shù)據(jù)的目錄地址。
[0089]子步驟S33,從所述當(dāng)前資源數(shù)據(jù)的目錄地址加載所述資源數(shù)據(jù)。
[0090]在具體實現(xiàn)中,所述資源數(shù)據(jù)可以是圖片資源或者是文本資源,例如,主題、壁紙、鈴聲、軟件、音樂、游戲、視頻、電子書等等。資源數(shù)據(jù)具有文件屬性信息,其中,文件屬性信息包括資源的大小、資源的類型、資源的版本號、資源的標(biāo)識等等。
[0091]在實際中圖片資源或者是文本資源需要經(jīng)常更新,例如應(yīng)用程序可能由于新的功能的增加而需相應(yīng)的增加圖標(biāo),在本發(fā)明實施例中,只需要將應(yīng)用程序中的圖片修改為從新的APK中的圖片的中加載,當(dāng)應(yīng)用程序再次加載時可以直接從新的圖片的目錄地址加載,以此完成應(yīng)用程序中的圖片的更新。[0092]在本發(fā)明的一種優(yōu)選實施例中,所述指定的組件對象信息包括當(dāng)前包管理器的目錄地址,所述應(yīng)用程序中指定的組件對象包括包管理器;
[0093]所述步驟104可以包括如下子步驟:
[0094]子步驟S41,采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始包管理器的目錄地址;
[0095]子步驟S42,將原始包管理器的目錄地址修改為當(dāng)前包管理器的目錄地址。
[0096]子步驟S43,從所述當(dāng)前包管理器的目錄地址加載所述包管理器。
[0097]在具體實現(xiàn)中,還可以對應(yīng)用程序的包管理器的加載地址進(jìn)行修改,以說明該應(yīng)用程序已經(jīng)實現(xiàn)一定程度上的更新,具體而言,可以將應(yīng)用程序中的包管理器的目錄地址重新定位到APK中包管理器的地址中,當(dāng)應(yīng)用程序再次加載時可以直接從新的包管理器的目錄地址加載,例如,原本應(yīng)用程序加載包管理器后顯示為9.0版本,重新定位包管理器地址后加載后顯不為9.1版本。
[0098]在本發(fā)明實施例中采用重定向及反射技術(shù)來實現(xiàn)應(yīng)用程序的自動升級。當(dāng)獲取到新的APK時,獲取該APK中指定組件對象的目錄地址,并根據(jù)所述指定組件的目錄地址將應(yīng)用程序中原始的指定件對象的目錄地址修改為新的APK中指定組件對象的目錄地址,當(dāng)應(yīng)用程序再次加載指定組件對象時,就不再從原始的指定件對象的目錄地址進(jìn)行加載,而是直接從新的APK中指定組件對象的目錄地址進(jìn)行加載,由此解決了傳統(tǒng)應(yīng)用程序升級過程繁瑣的問題,不需要用戶進(jìn)行升級操作也可完成應(yīng)用程序的升級,取得了快速完成升級,提高用戶體驗度的有益效果。在實際中,還可以采用轉(zhuǎn)發(fā)技術(shù)來實現(xiàn)應(yīng)用程序的升級,即當(dāng)需要從原始的指定件對象的目錄地址加載指定的組件對象時,跳轉(zhuǎn)到新的APK的指定組件的目錄地址去加載指定的組件對象。
[0099]需要說明的是,對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
[0100]參照圖2,示出了根據(jù)本發(fā)明一個實施例的一種應(yīng)用程序升級的裝置實施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:
[0101]獲取模塊201,適于獲取待升級的應(yīng)用程序的安裝包;
[0102]提取模塊202,適于從所述安裝包中提取指定的組件對象信息;
[0103]確定模塊203,適于依據(jù)所述指定的組件對象信息確定所述應(yīng)用程序中指定的組件對象;
[0104]加載模塊204,適于采用所述指定的組件對象信息加載所述指定的組件對象。
[0105]在本發(fā)明的一種優(yōu)選實施例中,所述指定的組件對象信息包括當(dāng)前類加載器的目錄地址,所述應(yīng)用程序中指定的組件對象包括類加載器;
[0106]所述加載模塊204可以包括:
[0107]第一地址獲取子模塊,適于采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始類加載器的目錄地址;
[0108]第一地址修改子模塊,適于將原始類加載器的目錄地址修改為當(dāng)前類加載器的目錄地址。[0109]第一加載子模塊,適于從所述當(dāng)前類加載器的目錄地址加載所述類加載器。
[0110]在本發(fā)明的一種優(yōu)選實施例中,所述指定的組件對象信息包括當(dāng)前應(yīng)用對象的目錄地址,所述應(yīng)用程序中指定的組件對象包括應(yīng)用對象;
[0111]所述加載模塊204可以包括:
[0112]第二地址獲取子模塊,適于采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始應(yīng)用對象的目錄地址;
[0113]第二地址修改子模塊,適于將原始應(yīng)用對象的目錄地址修改為當(dāng)前應(yīng)用對象的目錄地址。
[0114]第二加載子模塊,適于從所述當(dāng)前應(yīng)用對象的目錄地址加載所述應(yīng)用對象。
[0115]在本發(fā)明的一種優(yōu)選實施例中,所述指定的組件對象信息包括當(dāng)前資源數(shù)據(jù)的目錄地址,所述應(yīng)用程序中指定的組件對象包括資源數(shù)據(jù);
[0116]所述加載模塊204可以包括:
[0117]第三地址獲取子模塊,適于采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始資源數(shù)據(jù)的目錄地址;
[0118]第三地址修改子模塊,適于將原始資源數(shù)據(jù)的目錄地址修改為當(dāng)前資源數(shù)據(jù)的目錄地址。
[0119]第三加載子模塊,適于從所述當(dāng)前資源數(shù)據(jù)的目錄地址加載所述資源數(shù)據(jù)。
[0120]在本發(fā)明的一種優(yōu)選實施例中,所述指定的組件對象信息包括當(dāng)前包管理器的目錄地址,所述應(yīng)用程序中指定的組件對象包括包管理器;
[0121 ] 所述加載模塊204可以包括:
[0122]第四地址獲取子模塊,適于采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始包管理器的目錄地址;
[0123]第四地址修改子模塊,適于將原始包管理器的目錄地址修改為當(dāng)前包管理器的目錄地址。
[0124]第四加載子模塊,適于從所述當(dāng)前包管理器的目錄地址加載所述包管理器。
[0125]對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
[0126]在此提供的算法和顯示不與任何特定計算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
[0127]在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細(xì)節(jié)的情況下實踐。在一些實例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
[0128]類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循【具體實施方式】的權(quán)利要求書由此明確地并入該【具體實施方式】,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。
[0129]本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
[0130]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實施例的任意之一都可以以任意的組合方式來使用。
[0131 ] 本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運(yùn)行的應(yīng)用程序模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP )來實現(xiàn)根據(jù)本發(fā)明實施例的應(yīng)用程序升級設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機(jī)程序和計算機(jī)程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機(jī)可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0132]應(yīng)該注意的是上述實施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機(jī)來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
[0133]本發(fā)明公開了 Al、一種應(yīng)用程序升級的方法,包括:
[0134]獲取待升級的應(yīng)用程序的安裝包;
[0135]從所述安裝包中提取指定的組件對象信息;
[0136]依據(jù)所述指定的組件對象信息確定所述應(yīng)用程序中指定的組件對象;
[0137]采用所述指定的組件對象信息加載所述指定的組件對象。
[0138]A2、如權(quán)利要求Al所述的方法,其特征在于,所述指定的組件對象信息包括當(dāng)前類加載器的目錄地址,所述應(yīng)用程序中指定的組件對象包括類加載器;
[0139]所述采用指定的組件對象信息加載所述指定的組件對象的步驟包括:[0140]采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始類加載器的目錄地址;
[0141]將原始類加載器的目錄地址修改為當(dāng)前類加載器的目錄地址。
[0142]從所述當(dāng)前類加載器的目錄地址加載所述類加載器。
[0143]A3、如權(quán)利要求Al或A2所述的方法,其特征在于,所述指定的組件對象信息包括當(dāng)前應(yīng)用對象的目錄地址,所述應(yīng)用程序中指定的組件對象包括應(yīng)用對象;
[0144]所述采用指定的組件對象信息加載所述指定的組件對象的步驟包括:
[0145]采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始應(yīng)用對象的目錄地址;
[0146]將原始應(yīng)用對象的目錄地址修改為當(dāng)前應(yīng)用對象的目錄地址。
[0147]從所述當(dāng)前應(yīng)用對象的目錄地址加載所述應(yīng)用對象。
[0148]A4、如權(quán)利要求A3所述的方法,其特征在于,所述指定的組件對象信息包括當(dāng)前資源數(shù)據(jù)的目錄地址,所述應(yīng)用程序中指定的組件對象包括資源數(shù)據(jù);
[0149]所述采用指定的組件對象信息加載所述指定的組件對象的步驟包括:
[0150]采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始資源數(shù)據(jù)的目錄地址;
[0151 ]將原始資源數(shù)據(jù)的目錄地址修改為當(dāng)前資源數(shù)據(jù)的目錄地址。
[0152]從所述當(dāng)前資源數(shù)據(jù)的目錄地址加載所述資源數(shù)據(jù)。
[0153]A5、如權(quán)利要求A4所述的方法,其特征在于,所述指定的組件對象信息包括當(dāng)前包管理器的目錄地址,所述應(yīng)用程序中指定的組件對象包括包管理器;
[0154]所述采用指定的組件對象信息加載所述指定的組件對象的步驟包括:
[0155]采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始包管理器的目錄地址;
[0156]將原始包管理器的目錄地址修改為當(dāng)前包管理器的目錄地址。
[0157]從所述當(dāng)前包管理器的目錄地址加載所述包管理器。
[0158]本發(fā)明還公開了 B6、一種應(yīng)用程序升級的裝置,包括:
[0159]獲取模塊,適于獲取待升級的應(yīng)用程序的安裝包;
[0160]提取模塊,適于從所述安裝包中提取指定的組件對象信息;
[0161]確定模塊,適于依據(jù)所述指定的組件對象信息確定所述應(yīng)用程序中指定的組件對象;
[0162]加載模塊,適于采用所述指定的組件對象信息加載所述指定的組件對象。
[0163]B7、如權(quán)利要求B6所述的裝置,其特征在于,所述指定的組件對象信息包括當(dāng)前類加載器的目錄地址,所述應(yīng)用程序中指定的組件對象包括類加載器;
[0164]所述加載模塊包括:
[0165]第一地址獲取子模塊,適于采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始類加載器的目錄地址;
[0166]第一地址修改子模塊,適于將原始類加載器的目錄地址修改為當(dāng)前類加載器的目錄地址。
[0167]第一加載子模塊,適于從所述當(dāng)前類加載器的目錄地址加載所述類加載器。[0168]B8、如權(quán)利要求B6或B7所述的裝置,其特征在于,所述指定的組件對象信息包括當(dāng)前應(yīng)用對象的目錄地址,所述應(yīng)用程序中指定的組件對象包括應(yīng)用對象;
[0169]所述加載模塊包括:
[0170]第二地址獲取子模塊,適于采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始應(yīng)用對象的目錄地址;
[0171]第二地址修改子模塊,適于將原始應(yīng)用對象的目錄地址修改為當(dāng)前應(yīng)用對象的目錄地址。
[0172]第二加載子模塊,適于從所述當(dāng)前應(yīng)用對象的目錄地址加載所述應(yīng)用對象。
[0173]B9、如權(quán)利要求B8所述的裝置,其特征在于,所述指定的組件對象信息包括當(dāng)前資源數(shù)據(jù)的目錄地址,所述應(yīng)用程序中指定的組件對象包括資源數(shù)據(jù);
[0174]所述加載模塊包括:
[0175]第三地址獲取子模塊,適于采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始資源數(shù)據(jù)的目錄地址;
[0176]第三地址修改子模塊,適于將原始資源數(shù)據(jù)的目錄地址修改為當(dāng)前資源數(shù)據(jù)的目錄地址。
[0177]第三加載子模塊,適于從所述當(dāng)前資源數(shù)據(jù)的目錄地址加載所述資源數(shù)據(jù)。
[0178]B10、如權(quán)利要求B9所述的裝置,其特征在于,所述指定的組件對象信息包括當(dāng)前包管理器的目錄地址,所述應(yīng)用程序中指定的組件對象包括包管理器;
[0179]所述加載模塊包括:
[0180]第四地址獲取子模塊,適于采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始包管理器的目錄地址;
[0181]第四地址修改子模塊,適于將原始包管理器的目錄地址修改為當(dāng)前包管理器的目錄地址。
[0182]第四加載子模塊,適于從所述當(dāng)前包管理器的目錄地址加載所述包管理器。
【權(quán)利要求】
1.一種應(yīng)用程序升級的方法,包括: 獲取待升級的應(yīng)用程序的安裝包; 從所述安裝包中提取指定的組件對象信息; 依據(jù)所述指定的組件對象信息確定所述應(yīng)用程序中指定的組件對象; 采用所述指定的組件對象信息加載所述指定的組件對象。
2.如權(quán)利要求1所述的方法,其特征在于,所述指定的組件對象信息包括當(dāng)前類加載器的目錄地址,所述應(yīng)用程序中指定的組件對象包括類加載器; 所述采用指定的組件對象信息加載所述指定的組件對象的步驟包括: 采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始類加載器的目錄地址; 將原始類加載器的目錄地址修改為當(dāng)前類加載器的目錄地址。 從所述當(dāng)前類加載器的目錄地址加載所述類加載器。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述指定的組件對象信息包括當(dāng)前應(yīng)用對象的目錄地址,所述應(yīng)用程序中指定的組件對象包括應(yīng)用對象; 所述采用指定的組件 對象信息加載所述指定的組件對象的步驟包括: 采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始應(yīng)用對象的目錄地址; 將原始應(yīng)用對象的目錄地址修改為當(dāng)前應(yīng)用對象的目錄地址。 從所述當(dāng)前應(yīng)用對象的目錄地址加載所述應(yīng)用對象。
4.如權(quán)利要求3所述的方法,其特征在于,所述指定的組件對象信息包括當(dāng)前資源數(shù)據(jù)的目錄地址,所述應(yīng)用程序中指定的組件對象包括資源數(shù)據(jù); 所述采用指定的組件對象信息加載所述指定的組件對象的步驟包括: 采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始資源數(shù)據(jù)的目錄地址; 將原始資源數(shù)據(jù)的目錄地址修改為當(dāng)前資源數(shù)據(jù)的目錄地址。 從所述當(dāng)前資源數(shù)據(jù)的目錄地址加載所述資源數(shù)據(jù)。
5.如權(quán)利要求4所述的方法,其特征在于,所述指定的組件對象信息包括當(dāng)前包管理器的目錄地址,所述應(yīng)用程序中指定的組件對象包括包管理器; 所述采用指定的組件對象信息加載所述指定的組件對象的步驟包括: 采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始包管理器的目錄地址; 將原始包管理器的目錄地址修改為當(dāng)前包管理器的目錄地址。 從所述當(dāng)前包管理器的目錄地址加載所述包管理器。
6.一種應(yīng)用程序升級的裝置,包括: 獲取模塊,適于獲取待升級的應(yīng)用程序的安裝包; 提取模塊,適于從所述安裝包中提取指定的組件對象信息; 確定模塊,適于依據(jù)所述指定的組件對象信息確定所述應(yīng)用程序中指定的組件對象; 加載模塊,適于采用所述指定的組件對象信息加載所述指定的組件對象。
7.如權(quán)利要求6所述的裝置,其特征在于,所述指定的組件對象信息包括當(dāng)前類加載器的目錄地址,所述應(yīng)用程序中指定的組件對象包括類加載器; 所述加載模塊包括: 第一地址獲取子模塊,適于采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始類加載器的目錄地址;第一地址修改子模塊,適于將原始類加載器的目錄地址修改為當(dāng)前類加載器的目錄地址。 第一加載子模塊,適于從所述當(dāng)前類加載器的目錄地址加載所述類加載器。
8.如權(quán)利要求6或7所述的裝置,其特征在于,所述指定的組件對象信息包括當(dāng)前應(yīng)用對象的目錄地址,所述應(yīng)用程序中指定的組件對象包括應(yīng)用對象; 所述加載模塊包括: 第二地址獲取子模塊,適于采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始應(yīng)用對象的目錄地址; 第二地址修改子模塊,適于將原始應(yīng)用對象的目錄地址修改為當(dāng)前應(yīng)用對象的目錄地址。 第二加載子模塊,適于從所述當(dāng)前應(yīng)用對象的目錄地址加載所述應(yīng)用對象。
9.如權(quán)利要求8所述的裝置,其特征在于,所述指定的組件對象信息包括當(dāng)前資源數(shù)據(jù)的目錄地址,所述應(yīng)用程序中指定的組件對象包括資源數(shù)據(jù); 所述加載模塊包括: 第三地址獲取子模塊 ,適于采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始資源數(shù)據(jù)的目錄地址; 第三地址修改子模塊,適于將原始資源數(shù)據(jù)的目錄地址修改為當(dāng)前資源數(shù)據(jù)的目錄地址。 第三加載子模塊,適于從所述當(dāng)前資源數(shù)據(jù)的目錄地址加載所述資源數(shù)據(jù)。
10.如權(quán)利要求9所述的裝置,其特征在于,所述指定的組件對象信息包括當(dāng)前包管理器的目錄地址,所述應(yīng)用程序中指定的組件對象包括包管理器; 所述加載模塊包括: 第四地址獲取子模塊,適于采用所述應(yīng)用程序中的反射對象獲取所述應(yīng)用程序中的原始包管理器的目錄地址; 第四地址修改子模塊,適于將原始包管理器的目錄地址修改為當(dāng)前包管理器的目錄地址。 第四加載子模塊,適于從所述當(dāng)前包管理器的目錄地址加載所述包管理器。
【文檔編號】G06F9/445GK103793248SQ201410033251
【公開日】2014年5月14日 申請日期:2014年1月23日 優(yōu)先權(quán)日:2014年1月23日
【發(fā)明者】蔣又新 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
南木林县| 日土县| 从江县| 桂阳县| 赣榆县| 南丰县| 深圳市| 巧家县| 平南县| 西充县| 大冶市| 常德市| 桑日县| 靖边县| 宣汉县| 黄浦区| 永城市| 沅江市| 承德市| 罗江县| 旅游| 苍南县| 湄潭县| 洪泽县| 无锡市| 丹巴县| 精河县| 云阳县| 耒阳市| 无极县| 利辛县| 芦山县| 客服| 田林县| 慈溪市| 望奎县| 余姚市| 元氏县| 敦化市| 澳门| 巴东县|