两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種應(yīng)用程序安裝包的生成方法、加載方法及裝置與流程

文檔序號(hào):11154518閱讀:289來(lái)源:國(guó)知局
一種應(yīng)用程序安裝包的生成方法、加載方法及裝置與制造工藝

本發(fā)明涉及信息處理技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用程序安裝包的生成方法、加載方法及裝置。



背景技術(shù):

應(yīng)用程序安裝包是一類用于在操作系統(tǒng)中安裝應(yīng)用程序的文件,用戶通過(guò)應(yīng)用程序安裝包能夠?qū)崿F(xiàn)對(duì)應(yīng)用程序的安裝。在安卓(Android)系統(tǒng)的開發(fā)過(guò)程中,隨著應(yīng)用程序的功能和展現(xiàn)方式越來(lái)越豐富,應(yīng)用程序安裝包所占用的存儲(chǔ)空間也越來(lái)越大,因此,如何降低應(yīng)用程序安裝包所占用的存儲(chǔ)空間成為亟需解決的問(wèn)題。



技術(shù)實(shí)現(xiàn)要素:

鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的應(yīng)用程序安裝包的生成方法、加載方法及裝置。

本發(fā)明實(shí)施例提供一種應(yīng)用程序安裝包的生成方法,所述方法包括:

獲取應(yīng)用程序的安裝資源;

從所述安裝資源中解析出用于加載應(yīng)用程序的主界面的第一資源;

根據(jù)所述第一資源生成應(yīng)用程序安裝包。

優(yōu)選的,在所述從所述安裝資源中解析出用于加載應(yīng)用程序的主界面的第一資源之后,所述方法還包括:

將所述安裝資源中除所述第一資源以外的第二資源暫存到資產(chǎn)目錄中。

優(yōu)選的,在所述從所述安裝資源中解析出用于加載應(yīng)用程序的主界面的第一資源之后,所述方法還包括:

根據(jù)所述安裝資源中除所述第一資源以外的第二資源生成資源安裝包。

優(yōu)選的,在所述根據(jù)所述安裝資源中除所述第一資源以外的第二資源生成資源安裝包之后,所述方法包括:

將第一密鑰對(duì)中的第一公鑰保存到所述應(yīng)用程序安裝包中,同時(shí)利用第一密鑰對(duì)中的第一私鑰對(duì)所述資源安裝包進(jìn)行第一次加密;

將第二密鑰對(duì)中的第二私鑰保存到所述應(yīng)用程序安裝包中,同時(shí)利用第二密鑰對(duì)中的第二公鑰對(duì)所述資源安裝包進(jìn)行第二次加密。

優(yōu)選的,在所述根據(jù)所述安裝資源中除所述第一資源以外的第二資源生成資源安裝包之后,所述方法還包括:

將所述資源安裝包發(fā)送至服務(wù)器。

基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供一種應(yīng)用程序安裝包的加載方法,所述方法包括:

獲取根據(jù)第一資源生成的應(yīng)用程序安裝包,其中,所述第一資源為用于加載應(yīng)用程序的主界面的資源;

根據(jù)所述應(yīng)用程序安裝包,對(duì)所述應(yīng)用程序進(jìn)行安裝,以使用戶在打開所述應(yīng)用程序時(shí)所述主界面能夠進(jìn)行加載。

優(yōu)選的,在所述對(duì)與所述應(yīng)用程序安裝包對(duì)應(yīng)的應(yīng)用程序進(jìn)行安裝之后,所述方法還包括;

在所述應(yīng)用程序的當(dāng)前顯示界面為所述主界面時(shí),判斷是否存在用于打開所述主界面的次級(jí)界面的打開操作;

當(dāng)存在所述打開操作時(shí),獲取存儲(chǔ)于服務(wù)器中的資源安裝包,并對(duì)所述資源安裝包進(jìn)行加載。

優(yōu)選的,在所述獲取存儲(chǔ)于服務(wù)器中的資源安裝包之后,所述方法還包括:

利用存放在所述應(yīng)用程序安裝包中的第二密鑰對(duì)中的第二私鑰,對(duì)由所述第二密鑰對(duì)中的第二公鑰加密過(guò)的所述資源安裝包進(jìn)行第一次解密;

利用存放在所述應(yīng)用程序安裝包中的第一密鑰對(duì)中的第一公鑰對(duì),由所述第一密鑰對(duì)中的第一私鑰加密過(guò)的所述資源安裝包進(jìn)行第二次解密。

基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供一種應(yīng)用程序安裝包的生成裝置,所述裝置包括:

第一獲取模塊,用于獲取應(yīng)用程序的安裝資源;

加載模塊,用于從所述安裝資源中解析出用于加載應(yīng)用程序的主界面的第一資源;

生成模塊,用于根據(jù)所述第一資源生成應(yīng)用程序安裝包。

基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供一種應(yīng)用程序安裝包的加載裝置,所述裝置包括:

第二獲取模塊,用于獲取根據(jù)第一資源生成的應(yīng)用程序安裝包,其中,所述第一資源為用于加載應(yīng)用程序的主界面的資源;

安裝模塊,用于根據(jù)所述應(yīng)用程序安裝包,對(duì)所述應(yīng)用程序進(jìn)行安裝,以使用戶在打開所述應(yīng)用程序時(shí)所述主界面能夠進(jìn)行加載。

本發(fā)明實(shí)施例中的一個(gè)或多個(gè)技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點(diǎn):

本發(fā)明通過(guò)從應(yīng)用程序的安裝資源中解析出用于加載應(yīng)用程序的主界面的第一資源,并根據(jù)第一資源生成應(yīng)用程序安裝包,利用該應(yīng)用程序安裝包能夠?qū)崿F(xiàn)對(duì)應(yīng)用程序的安裝,使用戶在打開安裝好的應(yīng)用程序后主界面能夠進(jìn)行加載,由于除用于加載主界面以外的資源不再打包到應(yīng)用程序安裝包內(nèi),降低了應(yīng)用程序安裝包對(duì)存儲(chǔ)空間的占用。

附圖說(shuō)明

通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考圖形表示相同的部件。在附圖中:

圖1示出了本發(fā)明實(shí)施例的一種應(yīng)用程序安裝包的生成方法的流程圖;

圖2示出了本發(fā)明實(shí)施例的一種應(yīng)用程序安裝包的加載方法的流程圖;

圖3示出了本發(fā)明實(shí)施例的一種應(yīng)用程序安裝包的生成裝置的結(jié)構(gòu)圖;

圖4示出了本發(fā)明實(shí)施例的一種應(yīng)用程序安裝包的加載裝置的結(jié)構(gòu)圖。

具體實(shí)施方式

下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。

本發(fā)明實(shí)施例提供一種應(yīng)用程序安裝包的生成方法,應(yīng)用于Android系統(tǒng)中,所述應(yīng)用程序安裝包的生成方法的執(zhí)行主體可以為應(yīng)用程序開發(fā)側(cè)客戶端,如圖1所示,所述方法包括:

步驟101:獲取應(yīng)用程序的安裝資源。

步驟102:從所述安裝資源中解析出用于加載應(yīng)用程序的主界面的第一資源。

具體來(lái)講,在應(yīng)用程序開發(fā)完成后,根據(jù)開發(fā)好的應(yīng)用程序能夠得到應(yīng)用程序的安裝資源,應(yīng)用程序的安裝資源中包含應(yīng)用程序直接運(yùn)行需要的資源和應(yīng)用程序直接運(yùn)行不需要的資源,其中,應(yīng)用程序直接運(yùn)行需要的資源至少包括用于加載應(yīng)用程序的主界面的資源,從而,在步驟102中,可以從安裝資源中解析出用于加載應(yīng)用程序的主界面的資源為第一資源。在一種特殊情況下,應(yīng)用程序直接運(yùn)行時(shí)具有啟動(dòng)頁(yè)面,則,在步驟102中,可以從安裝資源中解析出用于加載應(yīng)用程序的啟動(dòng)頁(yè)面和主界面的資源為第一資源。

步驟103:根據(jù)所述第一資源生成應(yīng)用程序安裝包。

具體來(lái)講,應(yīng)用程序安裝包的文件格式為APK(AndroidPackage)。在根據(jù)第一資源生成應(yīng)用程序安裝包之后,根據(jù)該應(yīng)用程序安裝包能夠?qū)崿F(xiàn)對(duì)應(yīng)用程序的安裝,在對(duì)安裝完成的應(yīng)用程序進(jìn)行打開操作后,應(yīng)用程序?qū)?huì)加載主界面,當(dāng)應(yīng)用程序存在啟動(dòng)頁(yè)面時(shí),應(yīng)用程序?qū)?huì)依次加載啟動(dòng)頁(yè)面和主界面。

進(jìn)一步,在從所述安裝資源中解析出用于加載應(yīng)用程序的主界面的第一資源之后,所述方法還包括:將所述安裝資源中除所述第一資源以外的第二資源暫存到資產(chǎn)目錄中。

具體來(lái)講,應(yīng)用程序的安裝資源中除應(yīng)用程序直接運(yùn)行需要的資源以為的資源則為應(yīng)用程序直接運(yùn)行不需要的資源,其中,應(yīng)用程序直接運(yùn)行不需要的資源包括用于加載應(yīng)用程序的次級(jí)界面的資源。在本申請(qǐng)中,在解析出第一資源之后,將安裝資源中除第一資源以外的第二資源暫存到資產(chǎn)目錄(Assets目錄)中,從而能夠避免將第二資源保存到資源文件目錄(Res目錄)所帶來(lái)的資源沖突的問(wèn)題。

具體來(lái)講,Assets目錄下的文件是通過(guò)文件名來(lái)訪問(wèn)的,即,先獲取Resources對(duì)象,接著根據(jù)Resources對(duì)象調(diào)用其getAssets方法來(lái)獲取Assets目錄,再調(diào)用open方法讀取指定的文件。

進(jìn)一步,在從所述安裝資源中解析出用于加載應(yīng)用程序的主界面的第一資源之后,所述方法還包括:根據(jù)所述安裝資源中除所述第一資源以外的第二資源生成資源安裝包。

具體來(lái)講,在本申請(qǐng)中,在從安裝資源中解析出用于加載應(yīng)用程序的主界面的第一資源之后,可以直接將安裝資源中除第一資源以外的第二資源打包成資源安裝包,也可以在將第二資源暫存到Assets目錄之后再將第二資源打包成資源安裝包。其中,資源安裝包的文件格式同樣為APK。在生成資源安裝包之后,將資源安裝包發(fā)送至服務(wù)器。

進(jìn)一步,為了提高資源安裝包的安全性,防止在傳輸過(guò)程中被竊取或修改,在本申請(qǐng)中,可以對(duì)應(yīng)用程序安裝包和資源安裝包進(jìn)行文件簽名,使應(yīng)用程序安裝包的文件簽名和資源安裝包的文件簽名一致,以保證只有當(dāng)資源安裝包的文件簽名與應(yīng)用程序安裝包的文件簽名一致時(shí),資源安裝包才會(huì)對(duì)應(yīng)用程序安裝包有效。另外,也可以應(yīng)用程序安裝包和資源安裝包進(jìn)行加密,還可以將文件簽名的過(guò)程和加密的過(guò)程相結(jié)合以確保資源安裝包的安全性。

進(jìn)一步,本申請(qǐng)?jiān)趯?duì)應(yīng)用程序安裝包和資源安裝包加密時(shí),執(zhí)行兩次加密過(guò)程。其中,可以利用應(yīng)用程序開發(fā)側(cè)的客戶端對(duì)應(yīng)用程序安裝包和資源安裝包進(jìn)行加密,也可以利用服務(wù)器對(duì)應(yīng)用程序安裝包和資源安裝包進(jìn)行加密。在本申請(qǐng)中利用密鑰對(duì)對(duì)安裝包進(jìn)行加密,一個(gè)密鑰對(duì)包含一個(gè)公鑰和一個(gè)私鑰。用于加密的第一密鑰對(duì)和第二密鑰對(duì)可以在應(yīng)用程序開發(fā)側(cè)的客戶端中生成,也可以在服務(wù)器中生成,且,第一密鑰對(duì)和第二密鑰對(duì)可以在應(yīng)用程序開發(fā)側(cè)的客戶端和服務(wù)器之間相互傳輸。

通常情況下,非對(duì)稱加密算法是利用公鑰加密利用私鑰進(jìn)行解密,但是在傳輸過(guò)程中可能存在中間人偽造服務(wù)器的情況,偽造的服務(wù)器向客戶端提供偽造的資源安裝包,偽造的資源安裝包中包含有惡意廣告,因此,在本申請(qǐng)中對(duì)加密進(jìn)行了反向操作,即,利用私鑰進(jìn)行加密利用公鑰進(jìn)行解密,具體地:

當(dāng)利用應(yīng)用程序開發(fā)側(cè)的客戶端進(jìn)行加密時(shí),首先,應(yīng)用程序開發(fā)側(cè)的客戶端將第一密鑰對(duì)中的第一公鑰保存到應(yīng)用程序安裝包中,同時(shí)利用第一密鑰對(duì)中的第一私鑰對(duì)資源安裝包進(jìn)行第一次加密,接著,應(yīng)用程序開發(fā)側(cè)的客戶端將第二密鑰對(duì)中的第二私鑰保存到應(yīng)用程序安裝包中,同時(shí)利用第二密鑰對(duì)中的第二公鑰對(duì)資源安裝包進(jìn)行第二次加密。在完成兩次加密之后,應(yīng)用程序開發(fā)側(cè)的客戶端可以將資源安裝包發(fā)送至服務(wù)器。

當(dāng)利用應(yīng)服務(wù)器進(jìn)行加密時(shí),在生成資源安裝包之后,將資源安裝包發(fā)送至服務(wù)器,接著,服務(wù)器端先利用第一密鑰對(duì)中的第一私鑰對(duì)資源安裝包進(jìn)行加密,同時(shí)第一密鑰對(duì)中的第一公鑰保存在應(yīng)用程序安裝包中,從而,可以保證只要能通過(guò)應(yīng)用程序安裝包中的第一公鑰進(jìn)行解密的資源安裝包均是通過(guò)服務(wù)器傳輸過(guò)來(lái)的,因?yàn)榕c第一公鑰對(duì)應(yīng)的第一私鑰只有服務(wù)器持有,中間人無(wú)法偽造,避免了中間人偽造資源安裝包,但是無(wú)法保證第三方竊取資源安裝包,因?yàn)榈谝还€是公開的,進(jìn)而,對(duì)資源安裝包進(jìn)行第二次加密,具體地,服務(wù)器利用第二密鑰對(duì)中的第二公鑰對(duì)資源安裝包進(jìn)行加密,同時(shí)第二密鑰對(duì)中的第二私鑰保存在應(yīng)用程序安裝包中,從而保證了只有持有第二私鑰的應(yīng)用程序安裝包才能對(duì)資源安裝包進(jìn)行解密,第三方就算持有第二公鑰也只能加密無(wú)法解密。

基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供一種應(yīng)用程序安裝包的加載方法,應(yīng)用于Android系統(tǒng)中,所述應(yīng)用程序安裝包的加載方法的執(zhí)行主體可以為應(yīng)用程序使用側(cè)客戶端,如圖2所示,所述方法包括:

步驟201:獲取根據(jù)第一資源生成的應(yīng)用程序安裝包,其中,所述第一資源為用于加載應(yīng)用程序的主界面的資源。

具體來(lái)講,應(yīng)用程序安裝包的獲取途經(jīng)可以為應(yīng)用程序開發(fā)側(cè)客戶端,也可以為任一軟件下載網(wǎng)站,本申請(qǐng)對(duì)獲取應(yīng)用程序安裝包的途經(jīng)不做限定。

步驟202:根據(jù)所述應(yīng)用程序安裝包,對(duì)所述應(yīng)用程序進(jìn)行安裝,以使用戶在打開所述應(yīng)用程序時(shí)所述主界面能夠進(jìn)行加載。

在本申請(qǐng)中,利用根據(jù)第一資源生成的應(yīng)用程序安裝包對(duì)應(yīng)用程序進(jìn)行安裝后,用戶在打開安裝好的應(yīng)用程序后,應(yīng)用程序使用側(cè)客戶端對(duì)主界面進(jìn)行加載,將應(yīng)用程序的主界面展現(xiàn)給用戶。

進(jìn)一步,在應(yīng)用程序的當(dāng)前顯示界面為主界面時(shí),判斷是否存在用于打開所述主界面中的次級(jí)界面的打開操作,當(dāng)存在所述打開操作時(shí),獲取存儲(chǔ)于服務(wù)器中的資源安裝包,并對(duì)所述資源安裝包進(jìn)行加載。具體地,應(yīng)用程序使用側(cè)客戶端發(fā)送資源獲取請(qǐng)求給服務(wù)器,服務(wù)器在接收到資源獲取請(qǐng)求之后將資源安裝包發(fā)送給應(yīng)用程序使用側(cè)客戶端,并將資源安裝包保存到該應(yīng)用程序的文件目錄下。

進(jìn)一步,在獲取到存儲(chǔ)于服務(wù)器中的資源安裝包之后,所述方法還包括:

利用存放在所述應(yīng)用程序安裝包中的第二密鑰對(duì)中的第二私鑰,對(duì)由所述第二密鑰對(duì)中的第二公鑰加密過(guò)的所述資源安裝包進(jìn)行第一次解密;

利用存放在所述應(yīng)用程序安裝包中的第一密鑰對(duì)中的第一公鑰對(duì),由所述第一密鑰對(duì)中的第一私鑰加密過(guò)的所述資源安裝包進(jìn)行第二次解密。

具體來(lái)講,在獲取到資源安裝包之后,與前述加密過(guò)程相對(duì)應(yīng)地,首先,利用第二密鑰對(duì)的第二私鑰對(duì)資源安裝包進(jìn)行第一次解密,在成功解密后,資源安裝包變成一個(gè)被第一密鑰對(duì)加密的文件,接著,利用第一密鑰對(duì)的第一公鑰對(duì)資源安裝包進(jìn)行第二次解密,最終得到?jīng)]有密碼的資源安裝包。

另外,在利用第一密鑰對(duì)的第一公鑰對(duì)資源安裝包進(jìn)行第二次解密之后,還可以包括:判斷資源安裝包的文件簽名是否與應(yīng)用程序安裝包的文件簽名一致,若資源安裝包的文件簽名是否與應(yīng)用程序安裝包的文件簽名一致,則對(duì)資源安裝包進(jìn)行加載,否則,刪除該資源安裝包。

進(jìn)一步,在獲取文件簽名時(shí),可以通過(guò)context的PackageManager方法先獲取android的包管理服務(wù)對(duì)象,然后通過(guò)該對(duì)象的getPackageInfo方法獲取應(yīng)用的Packageinfo對(duì)象,通過(guò)該對(duì)象的signatures字段就能獲取安裝包的簽名信息,當(dāng)存在打開次級(jí)界面的打開操作時(shí),直接通過(guò)先獲取一個(gè)自定義的Resources對(duì)象,然后調(diào)用其getAssets方法得到Assets目錄的管理對(duì)象,最后調(diào)用open方法來(lái)獲取指定資源文件,open方法的參數(shù)就是資源文件名,最后在應(yīng)用程序中進(jìn)行資源設(shè)置。

進(jìn)一步,在android系統(tǒng)中直接操作資源的類是Resources,而直接通過(guò)Resources類無(wú)法加載安裝包之外的資源,因?yàn)镽esources中做了驗(yàn)證,當(dāng)安裝包不是已經(jīng)安裝的安裝包就不讀取其資源,Resources類最終是通過(guò)AssetManager類的addAssetPath來(lái)加載指定路徑安裝包的資源的,其中,AssetManager類是android資源管理器類,android中所有的資源都是通過(guò)其來(lái)實(shí)現(xiàn)的,這里要讀取未安裝的資源包就只能創(chuàng)建自己的Resources對(duì)象,但是創(chuàng)建Resources類的構(gòu)造方法需要傳入一個(gè)AssetManager對(duì)象,而AssetManager對(duì)象的構(gòu)造函數(shù)被系統(tǒng)設(shè)置成隱藏的,所以需要先通過(guò)反射構(gòu)造一個(gè)AssetManager對(duì)象。

反射創(chuàng)建AssetManager對(duì)象的過(guò)程如下:首先通過(guò)Class類的forName方法得到AssetManager類的類型對(duì)象clazz,Class類是java中表示所有類的類,其提供了很多對(duì)java類反射的功能,其接受一個(gè)類的字符串描述,AssetManager類包名全稱“android.content.res.AssetManager”,然后調(diào)用clazz的getConstructor方法獲得AssetManager類的構(gòu)造方法,最后調(diào)用其newInstance()方法創(chuàng)建一個(gè)AssetManager對(duì)象,AssetManager對(duì)象創(chuàng)建后需要調(diào)用其addAssetPath方法來(lái)指定加載資源的路徑,而addAssetPath也是一個(gè)隱藏方法名同樣需要通過(guò)反射來(lái)調(diào)用,首先調(diào)用clazz的getDeclaredMethod方法來(lái)獲取addAssetPath方法的對(duì)象,getDeclaredMethod第一個(gè)參數(shù)接受需要反射的方法字符串描述,即addAssetPath,第二個(gè)參數(shù)是需要反射方法的參數(shù)類型,addAssetPath方法的參數(shù)是路徑全稱,類型是String,所以第二個(gè)參數(shù)傳String.class,最后調(diào)用addAssetPath方法對(duì)象的invoke方法來(lái)執(zhí)行addAssetPath方法就行。其中,invoke是反射中的方法調(diào)用步驟,當(dāng)反射一個(gè)方法時(shí),getDeclaredMethod只是得到該方法對(duì)象,因此還需要調(diào)用invoke方法來(lái)真正執(zhí)行待反射的方法。

進(jìn)一步,創(chuàng)建自定義的Resources對(duì)象的過(guò)程如下:Resources類構(gòu)造需要三個(gè)參數(shù),第一個(gè)就是AssetManager對(duì)象,同時(shí)通過(guò)調(diào)用其addAssetPath方法設(shè)定安裝包文件的路徑為資源的路徑,第二個(gè)參數(shù)是DisplayMetrics類的對(duì)象,DisplayMetrics類可以獲取手機(jī)屏幕大小等信息,因此直接創(chuàng)建一個(gè)DisplayMetrics對(duì)象,第三個(gè)參數(shù)是Configuration對(duì)象,其控制一些例如手機(jī)橫豎屏等一系列信息,直接通過(guò)安裝包中自身context對(duì)象獲取傳入,即,調(diào)用其getConfiguration()方法,context是表示anroid應(yīng)用程序的上下文環(huán)境,通過(guò)context可以訪問(wèn)android程序運(yùn)行的各種環(huán)境,當(dāng)自定義Resources實(shí)現(xiàn)之后供加載解密后操作來(lái)調(diào)用讀取資源安裝包中的資源。

基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供一種應(yīng)用程序安裝包的生成裝置,如圖3所示,所述裝置包括:

第一獲取模塊301,用于獲取應(yīng)用程序的安裝資源;

加載模塊302,用于從所述安裝資源中解析出用于加載應(yīng)用程序的主界面的第一資源;

生成模塊303,用于根據(jù)所述第一資源生成應(yīng)用程序安裝包。

基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供一種應(yīng)用程序安裝包的加載裝置,如圖4所示,所述裝置包括:

第二獲取模塊401,用于獲取根據(jù)第一資源生成的應(yīng)用程序安裝包,其中,所述第一資源為用于加載應(yīng)用程序的主界面的資源;

安裝模塊402,用于根據(jù)所述應(yīng)用程序安裝包,對(duì)所述應(yīng)用程序進(jìn)行安裝,以使用戶在打開所述應(yīng)用程序時(shí)所述主界面能夠進(jìn)行加載。

本發(fā)明實(shí)施例中的一個(gè)或多個(gè)技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點(diǎn):

本發(fā)明通過(guò)從應(yīng)用程序的安裝資源中解析出用于加載應(yīng)用程序的主界面的第一資源,并根據(jù)第一資源生成應(yīng)用程序安裝包,利用該應(yīng)用程序安裝包能夠?qū)崿F(xiàn)對(duì)應(yīng)用程序的安裝,使用戶在打開安裝好的應(yīng)用程序后主界面能夠進(jìn)行加載,由于除用于加載主界面以外的資源不再打包到應(yīng)用程序安裝包內(nèi),降低了應(yīng)用程序安裝包對(duì)存儲(chǔ)空間的占用。

同時(shí),由于將安裝資源中除用于加載應(yīng)用程序的主界面的第一資源以外的其他資源打包為資源安裝包,并將資源安裝包放置于服務(wù)器中,在需要時(shí)再進(jìn)行獲取和加載,從而有效地實(shí)現(xiàn)了資源的分流。

在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。

在此處所提供的說(shuō)明書中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書的理解。

類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。

本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中。可以把實(shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。

此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。

本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的應(yīng)用程序安裝包的生成裝置和應(yīng)用程序安裝包的加載裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。

應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
山阴县| 延津县| 莆田市| 甘德县| 资中县| 仁化县| 南漳县| 武冈市| 呼伦贝尔市| 郯城县| 洛浦县| 屏山县| 江永县| 新安县| 山东| 大英县| 定远县| 木里| 平原县| 永修县| 浙江省| 星子县| 丽水市| 黎川县| 武夷山市| 邢台县| 策勒县| 仁布县| 宝丰县| 剑川县| 大理市| 会泽县| 南和县| 建德市| 同仁县| 甘德县| 广南县| 同江市| 丰城市| 宝丰县| 高碑店市|