国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種應用程序升級的方法及裝置制造方法

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

      【發(fā)明內容】

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

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