亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

安裝包的共享函數(shù)庫文件處理方法及裝置與流程

文檔序號:12596352閱讀:314來源:國知局
安裝包的共享函數(shù)庫文件處理方法及裝置與流程

本發(fā)明涉及移動終端技術領域,尤其涉及安裝包的共享函數(shù)庫文件處理方法及裝置。



背景技術:

隨著移動智能終端的快速發(fā)展,智能終端中應用軟件也越來越多,應用軟件的安裝通常需通過網(wǎng)絡下載相應的安裝包。但是隨著應用軟件的功能越來越多,安裝包也在不斷的升級,從而使得安裝包越來越大,進而導致傳輸過程中產(chǎn)生的流量加大,浪費網(wǎng)絡傳輸流量資源。

在安卓操作系統(tǒng)中,安裝包為apk安裝包,在通過安卓編譯平臺對應應用程序編譯時,通常采用預置編譯處理工具對資源文件進行編譯處理,以得到apk安裝包。該資源文件中包括共享函數(shù)庫文件,現(xiàn)有技術中對共享函數(shù)庫文件的壓縮處理過程通常是調(diào)用安卓編譯平臺內(nèi)置默認的Deflate算法,但是受到Deflate算法的限制,共享函數(shù)庫文件壓縮后的壓縮包較大,導致最終得到的apk安裝包較大。



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

本發(fā)明實施例的主要目的是提供一種安裝包的共享函數(shù)庫文件處理方法及裝置,旨在減小安裝包的大小。

為實現(xiàn)上述目的,本發(fā)明實施例提供了一種安裝包的共享函數(shù)庫文件處理方法,所述安裝包的共享函數(shù)庫文件處理方法包括以下步驟:

獲取預置編譯平臺生成的安裝包中共享函數(shù)庫文件對應的初始壓縮包;

解壓所述初始壓縮包得到共享函數(shù)庫文件;

調(diào)用預置壓縮工具對所述共享函數(shù)庫文件進行壓縮得到目標壓縮包;

將所述目標壓縮包儲存至所述安裝包的預置位置,刪除所述初始壓縮包。

進一步地,本發(fā)明實施例還提供了一種安裝包的共享函數(shù)庫文件處理裝置,所述安裝包的共享函數(shù)庫文件處理裝置包括:

獲取模塊,用于獲取預置編譯平臺生成的安裝包中共享函數(shù)庫文件對應的初始壓縮包;

第一解壓模塊,用于解壓所述初始壓縮包得到共享函數(shù)庫文件;

壓縮模塊,用于調(diào)用預置壓縮工具對所述共享函數(shù)庫文件進行壓縮得到目標壓縮包;

處理模塊,用于將所述目標壓縮包儲存至所述安裝包的預置位置,刪除所述初始壓縮包。

本發(fā)明實施例通過在編譯平臺生成的安裝包后,獲取安裝包內(nèi)共享函數(shù)庫文件對應的初始壓縮包,然后解壓所述初始壓縮包得到共享函數(shù)庫文件;并調(diào)用預置壓縮工具對所述共享函數(shù)庫文件進行壓縮得到目標壓縮包;最后將所述目標壓縮包儲存至所述安裝包的預置位置,刪除所述初始壓縮包。從而可以有效減小共享函數(shù)庫文件對應壓縮包的占用空間大小,因此減小了安裝包的大小,進而減少傳輸過程中產(chǎn)生的流量,節(jié)省網(wǎng)絡傳輸流量資源。

附圖說明

圖1是本發(fā)明安裝包的共享函數(shù)庫文件處理裝置第一實施例的硬件架構示意圖;

圖2是本發(fā)明安裝包的共享函數(shù)庫文件處理裝置第二實施例的功能模塊示意圖;

圖3是本發(fā)明安裝包的共享函數(shù)庫文件處理裝置第三實施例的功能模塊示意圖;

圖4是本發(fā)明安裝包的共享函數(shù)庫文件處理裝置第四實施例的功能模塊示意圖;

圖5是本發(fā)明安裝包的共享函數(shù)庫文件處理方法第一實施例的流程示意圖;

圖6是本發(fā)明安裝包的共享函數(shù)庫文件處理方法第二實施例的流程示意圖;

圖7是本發(fā)明安裝包的共享函數(shù)庫文件處理方法第三實施例的流程示意圖;

圖8是本發(fā)明安裝包的共享函數(shù)庫文件處理方法第四實施例的流程示意圖;

圖9是本發(fā)明安裝包的共享函數(shù)庫文件處理方法第五實施例的流程示意圖。

本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結合實施例,參照附圖做進一步說明。

具體實施方式

以下結合說明書附圖及具體實施例進一步說明本發(fā)明的技術方案。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

參照圖1,提出本發(fā)明安裝包的共享函數(shù)庫文件處理裝置第一實施例。該實施例中,該安裝包的共享函數(shù)庫文件處理裝置包括:處理器111、存儲器112、用戶接口113、網(wǎng)絡接口114及通信總線115。通信總線115用于數(shù)據(jù)服務器中各組成部件之間的通信,用戶接口113用于接收用戶輸入的信息,該用戶接口可以為有線接口及無線接口,例如鍵盤、鼠標等。網(wǎng)絡接口114用于數(shù)據(jù)服務器與外部進行互相通信,該網(wǎng)絡接口114也可以包括有線接口及無線接口。存儲器112可以包括一個或一個以上計算機可讀存儲介質(zhì),而且其不但包括內(nèi)部存儲器,還包括外部存儲器。該存儲器中存儲有操作系統(tǒng)及文件處理應用程序等等。處理器111用于調(diào)用存儲器112中的文件處理應用程序,以執(zhí)行以下操作:

獲取預置編譯平臺生成的安裝包中共享函數(shù)庫文件對應的初始壓縮包;

解壓所述初始壓縮包得到共享函數(shù)庫文件;

調(diào)用預置壓縮工具對所述共享函數(shù)庫文件進行壓縮得到目標壓縮包;

將所述目標壓縮包儲存至所述安裝包的預置位置,刪除所述初始壓縮包。

進一步地,處理器111還用于調(diào)用存儲器112中的文件處理應用程序,以執(zhí)行以下操作:

對包含所述目標壓縮包的安裝包進行簽名處理。

進一步地,處理器111還用于調(diào)用存儲器112中的文件處理應用程序,以執(zhí)行以下操作:

下載安裝所述簽名處理后的安裝包后,判斷是否接收到加載共享函數(shù)庫請求;

當接收到加載共享函數(shù)請求時,判斷共享函數(shù)庫文件是否已經(jīng)被解壓;

若是,則在所述共享函數(shù)庫文件中加載對應的共享函數(shù)庫;

若否,則調(diào)用所述預置壓縮工具從預置位置對所述目標壓縮包進行解壓處理,并將解壓獲得的共享函數(shù)庫文件儲存至預置路徑下。

進一步地,處理器111還用于調(diào)用存儲器112中的文件處理應用程序,以執(zhí)行以下操作:

調(diào)用預置壓縮工具將所有共享函數(shù)庫文件壓縮形成一目標壓縮包。

進一步地,處理器111還用于調(diào)用存儲器112中的文件處理應用程序,以執(zhí)行以下操作:

調(diào)用預置壓縮工具將所有共享函數(shù)庫文件壓縮,以使共享函數(shù)庫文件對應形成一目標壓縮包。

本發(fā)明實施例通過在編譯平臺生成的安裝包后,獲取安裝包內(nèi)共享函數(shù)庫文件對應的初始壓縮包,然后解壓所述初始壓縮包得到共享函數(shù)庫文件;并調(diào)用預置壓縮工具對所述共享函數(shù)庫文件進行壓縮得到目標壓縮包;最后將所述目標壓縮包儲存至所述安裝包的預置位置,刪除所述初始壓縮包。從而可以有效減小共享函數(shù)庫文件對應壓縮包的占用空間大小,因此減小了安裝包的大小,進而減少傳輸過程中產(chǎn)生的流量,節(jié)省網(wǎng)絡傳輸流量資源。

進一步地,參照圖2,在本發(fā)明安裝包的共享函數(shù)庫文件處理裝置第二實施例中,該安裝包的共享函數(shù)庫文件處理裝置包括:

獲取模塊10,用于獲取預置編譯平臺生成的安裝包中共享函數(shù)庫文件對應的初始壓縮包;

本發(fā)明實施例提供的安裝包的共享函數(shù)庫文件處理裝置主要應用于安卓操作系統(tǒng)中,用于對應用程序編譯流程進行控制,以生成安裝包。本實施例中,該安裝包是指apk安裝包。上述預置編譯平臺為Android編譯平臺,在Android編譯平臺中通過aapt對資源文件進行編譯形成二進制文件,當所有的 資源文件編譯完成后將打包形成apk安裝包。當應用程序有共享函數(shù)庫文件(即so文件)的情況下,通常采用Android編譯平臺內(nèi)置默認的Deflate算法壓縮共享函數(shù)庫文件,并將共享函數(shù)庫文件壓縮后存儲在apk安裝包的libs中。本實施例中,上述初始壓縮包為apk安裝包的libs中共享函數(shù)庫文件通過Deflate算法壓縮得到的壓縮文件。

第一解壓模塊20,用于解壓所述初始壓縮包得到共享函數(shù)庫文件;

當獲取到上述apk安裝包的libs中存在初始壓縮包時,可以通過對應的壓縮工具對初始壓縮包進行解壓,以還原共享函數(shù)庫文件。具體地,本實施例中,上述對應的壓縮工具具體地壓縮算法可以根據(jù)實際需要進行設置,在此不做進一步地限定。例如,可以采用Deflate算法,具體地,該7-Zip壓縮工具應用了LZMA(Lempel-Ziv-Markov chain-Algorithm)算法,該LZMA算法是Deflate算法和LZ77算法改良和優(yōu)化后的壓縮算法。在其他實施例中,還可以直接采用Deflate算法對初始壓縮包進行解壓處理,以得到共享函數(shù)庫文件。

壓縮模塊30,用于調(diào)用預置壓縮工具對所述共享函數(shù)庫文件進行壓縮得到目標壓縮包;

本實施例中,該預置壓縮工具的形式可以根據(jù)實際實際需要進行設置,但該預置壓縮工具的壓縮比要大于上述Deflate算法的壓縮比。該壓縮比是指壓縮前與壓縮后的文件所占的磁盤空間比值,其中壓縮比越大,壓縮效果越好,壓縮后的體積越小。即在本實施例中,通過上述預置壓縮工具壓縮后的目標壓縮包小于上述初始壓縮包。優(yōu)選地,該預置壓縮工具可以為7-Zip壓縮工具,該7-Zip壓縮工具中應用了LZMA算法。

處理模塊40,用于將所述目標壓縮包儲存至所述安裝包的預置位置,刪除所述初始壓縮包。

本實施例中,上述預置位置的路徑可以根據(jù)實際需要進行設置,例如,優(yōu)選地,可以放在apk安裝包的assets目錄下。具體地,可以在壓縮的過程中對是否壓縮成功進行判斷,當壓縮出錯時,則不進行壓縮包替換,當成功壓縮得到上述目標壓縮包時,則將目標壓縮包儲存至apk安裝包的assets目錄下,然后刪除初始壓縮包。由于在本實施例中,在將目標壓縮包儲存至所述安裝包的預置位置后,刪除初始壓縮包,從而有效保證了安裝包的完整性,防止了由于在壓縮得到目標壓縮包時發(fā)生錯誤,影響后續(xù)安裝該apk安裝包時無法 正常加載共享函數(shù)。

本發(fā)明實施例通過在編譯平臺生成的安裝包后,獲取安裝包內(nèi)共享函數(shù)庫文件對應的初始壓縮包,然后解壓所述初始壓縮包得到共享函數(shù)庫文件;并調(diào)用預置壓縮工具對所述共享函數(shù)庫文件進行壓縮得到目標壓縮包;最后將所述目標壓縮包儲存至所述安裝包的預置位置,刪除所述初始壓縮包。從而可以有效減小共享函數(shù)庫文件對應壓縮包的占用空間大小,因此減小了安裝包的大小,進而減少傳輸過程中產(chǎn)生的流量,節(jié)省網(wǎng)絡傳輸流量資源。

進一步地,參照圖3,基于本發(fā)明安裝包的共享函數(shù)庫文件處理裝置第二實施例,在本發(fā)明安裝包的共享函數(shù)庫文件處理裝置第三實施例中,上述安裝包的共享函數(shù)庫文件處理裝置還包括:

簽名模塊50,用于對包含所述目標壓縮包的安裝包進行簽名處理。

本實施例中,在通過上述編譯平臺編譯生成的安裝包為Android Package(.apk)文件,該文件需要進行通過jarsigner進行簽名處理后得到相應的signer.apk文件時,才能被正常安裝使用。應當說明的是,對包含所述目標壓縮包的安裝包的簽名處理方式和流程均可參照現(xiàn)有apk安裝包的簽名處理方式和流程,在此不再贅述。

進一步地,參照圖4,基于本發(fā)明安裝包的共享函數(shù)庫文件處理裝置第三實施例,在本發(fā)明安裝包的共享函數(shù)庫文件處理裝置第四實施例中,上述安裝包的共享函數(shù)庫文件處理裝置還包括:

第一判斷模塊60,用于下載安裝所述簽名處理后的安裝包后,判斷是否接收到加載共享函數(shù)庫請求;

第二判斷模塊70,用于當接收到加載共享函數(shù)請求時,判斷共享函數(shù)庫文件是否已經(jīng)被解壓;

加載模塊80,用于當共享函數(shù)庫文件已經(jīng)被解壓時,在所述共享函數(shù)庫文件中加載對應的共享函數(shù)庫;

第二解壓模塊90,用于當共享函數(shù)庫文件未被解壓時,調(diào)用所述預置壓縮工具從預置位置對所述目標壓縮包進行解壓處理,并將解壓獲得的共享函數(shù)庫文件儲存至預置路徑下。

本實施例中,未簽名的上述apk安裝包經(jīng)過簽名處理后得到可以正常安裝使用的apk安裝包。當用戶在下載安裝apk安裝包后,可以直接運行該apk安裝包對應的應用程序,該應用程序要加載某個共享函數(shù)庫a.so時,將生成加載共享函數(shù)請求到應用程序管理服務器,以開啟進程加載對應的共享函數(shù)庫a.so。當應用程序管理服務器接收到該加載共享函數(shù)請求時,將首先判斷該加載共享函數(shù)請求對應的共享函數(shù)庫a.so是否被解壓出來,當該加載共享函數(shù)請求對應的共享函數(shù)庫a.so已經(jīng)被解壓出來,則可以直接加載共享函數(shù)庫a.so;當該加載共享函數(shù)請求對應的共享函數(shù)庫a.so還未被解壓出來,則可以調(diào)用上述預置壓縮工具對共享函數(shù)庫a.so進行解壓,儲存到android設備的指定路徑上。

本實施例中,由于將共享函數(shù)庫的解壓與安裝包的解壓分開不同時段處理,從而將兩者的解壓時間打散,減少了apk安裝包的安裝時間。

可以理解的是,上述判斷共享函數(shù)庫文件是否已經(jīng)被解壓的判斷方式可以根據(jù)實際需要進行設置,例如可以查詢在android設備的指定路徑上是否存在共享函數(shù)庫,也可以查詢在android設備的指定路徑上是否存在共享函數(shù)請求對應的共享函數(shù)庫a.so,在此不做進一步地限定。

可以理解的是,上述對解壓后得到的共享函數(shù)庫文件進行壓縮時,壓縮得到的目標壓縮包數(shù)量可以根據(jù)實際需要進行設置。例如可以將所有的共享函數(shù)庫文件放在一起壓縮得到一個目標壓縮包;還可以單獨對每一個共享函數(shù)庫文件進行壓縮,以得到多個目標壓縮包。以下將以兩個不同的方式進行詳細說明。

具體地,基于本發(fā)明安裝包的共享函數(shù)庫文件處理裝置第二實施例、第三實施例和第四實施例,在本發(fā)明安裝包的共享函數(shù)庫文件處理裝置第五實施例中,上述壓縮模塊30具體用于,調(diào)用預置壓縮工具將所有共享函數(shù)庫文件壓縮形成一目標壓縮包。

例如,當解壓上述初始壓縮包得到5個不同的共享函數(shù)庫文件,可以將該5個不同的共享函數(shù)庫文件暫存到預置文件夾下,然后通過調(diào)用上述7-Zip壓縮工具對該預置文件夾進行壓縮處理,以得到一個目標壓縮包。由于在本實施例中,采用一個目標壓縮包打包所有的共享函數(shù)庫文件,因此在后續(xù)安裝 apk安裝后,僅需要通過7-Zip壓縮工具進行一次解壓操作即可。即在運行應用程序后首次加載共享函數(shù)庫時,將會將所有的共享函數(shù)庫文件解壓出來。防止了后續(xù)運行應用程序時,需要解壓共享函數(shù)庫文件,需要等待壓縮延時,從而用戶的體驗。

進一步地,基于本發(fā)明安裝包的共享函數(shù)庫文件處理裝置第二實施例、第三實施例和第四實施例,在本發(fā)明安裝包的共享函數(shù)庫文件處理裝置第六實施例中,上述壓縮模塊30具體用于,調(diào)用預置壓縮工具將所有共享函數(shù)庫文件壓縮,以使共享函數(shù)庫文件對應形成一目標壓縮包。

本發(fā)明安裝包的共享函數(shù)庫文件處理裝置第六實施例與本發(fā)明安裝包的共享函數(shù)庫文件處理裝置第五實施例的區(qū)別僅在于,本實施例中通過上述7-Zip壓縮工具壓縮共享函數(shù)庫文件得到的目標壓縮包為多個。例如,當解壓上述初始壓縮包得到5個不同的共享函數(shù)庫文件,可以將該5個不同的共享函數(shù)庫文件暫存到預置文件夾下,然后通過調(diào)用上述7-Zip壓縮工具對該每一個共享函數(shù)庫文件進行單獨壓縮處理,以使每一個共享函數(shù)庫文件對應壓縮得到一個目標壓縮包。由于在本實施例中,采用一個目標壓縮包打包所有的共享函數(shù)庫文件,因此在后續(xù)安裝apk安裝后,可以通過7-Zip壓縮工具分時解壓。即在運行應用程序后,僅解壓需要加載的共享函數(shù)庫文件,從而有效降低了空間的占用率。

本發(fā)明提出了一種安裝包的共享函數(shù)庫文件處理方法。參照圖5,在本發(fā)明安裝包的共享函數(shù)庫文件處理方法第一實施例中,該安裝包的共享函數(shù)庫文件處理方法包括以下步驟:

步驟S10,獲取預置編譯平臺生成的安裝包中共享函數(shù)庫文件對應的初始壓縮包;

本發(fā)明實施例提供的安裝包的共享函數(shù)庫文件處理方法主要應用于安卓操作系統(tǒng)中,用于對應用程序編譯流程進行控制,以生成安裝包。本實施例中,該安裝包是指apk安裝包。上述預置編譯平臺為Android編譯平臺,在Android編譯平臺中通過aapt對資源文件進行編譯形成二進制文件,當所有的資源文件編譯完成后將打包形成apk安裝包。當應用程序有共享函數(shù)庫文件 (即so文件)的情況下,通常采用Android編譯平臺內(nèi)置默認的Deflate算法壓縮共享函數(shù)庫文件,并將共享函數(shù)庫文件壓縮后存儲在apk安裝包的libs中。本實施例中,上述初始壓縮包為apk安裝包的libs中共享函數(shù)庫文件通過Deflate算法壓縮得到的壓縮文件。

步驟S20,解壓所述初始壓縮包得到共享函數(shù)庫文件;

當獲取到上述apk安裝包的libs中存在初始壓縮包時,可以通過對應的壓縮工具對初始壓縮包進行解壓,以還原共享函數(shù)庫文件。具體地,本實施例中,上述對應的壓縮工具具體地壓縮算法可以根據(jù)實際需要進行設置,在此不做進一步地限定。例如,可以采用Deflate算法,具體地,該7-Zip壓縮工具應用了LZMA(Lempel-Ziv-Markov chain-Algorithm)算法,該LZMA算法是Deflate算法和LZ77算法改良和優(yōu)化后的壓縮算法。在其他實施例中,還可以直接采用Deflate算法對初始壓縮包進行解壓處理,以得到共享函數(shù)庫文件。

步驟S30,調(diào)用預置壓縮工具對所述共享函數(shù)庫文件進行壓縮得到目標壓縮包;

本實施例中,該預置壓縮工具的形式可以根據(jù)實際實際需要進行設置,但該預置壓縮工具的壓縮比要大于上述Deflate算法的壓縮比。該壓縮比是指壓縮前與壓縮后的文件所占的磁盤空間比值,其中壓縮比越大,壓縮效果越好,壓縮后的體積越小。即在本實施例中,通過上述預置壓縮工具壓縮后的目標壓縮包小于上述初始壓縮包。優(yōu)選地,該預置壓縮工具可以為7-Zip壓縮工具,該7-Zip壓縮工具中應用了LZMA算法。

步驟S40,將所述目標壓縮包儲存至所述安裝包的預置位置,刪除所述初始壓縮包。

本實施例中,上述預置位置的路徑可以根據(jù)實際需要進行設置,例如,優(yōu)選地,可以放在apk安裝包的assets目錄下。具體地,可以在壓縮的過程中對是否壓縮成功進行判斷,當壓縮出錯時,則不進行壓縮包替換,當成功壓縮得到上述目標壓縮包時,則將目標壓縮包儲存至apk安裝包的assets目錄下,然后刪除初始壓縮包。由于在本實施例中,在將目標壓縮包儲存至所述安裝包的預置位置后,刪除初始壓縮包,從而有效保證了安裝包的完整性,防止了由于在壓縮得到目標壓縮包時發(fā)生錯誤,影響后續(xù)安裝該apk安裝包時無法正常加載共享函數(shù)。

本發(fā)明實施例通過在編譯平臺生成的安裝包后,獲取安裝包內(nèi)共享函數(shù)庫文件對應的初始壓縮包,然后解壓所述初始壓縮包得到共享函數(shù)庫文件;并調(diào)用預置壓縮工具對所述共享函數(shù)庫文件進行壓縮得到目標壓縮包;最后將所述目標壓縮包儲存至所述安裝包的預置位置,刪除所述初始壓縮包。從而可以有效減小共享函數(shù)庫文件對應壓縮包的占用空間大小,因此減小了安裝包的大小,進而減少傳輸過程中產(chǎn)生的流量,節(jié)省網(wǎng)絡傳輸流量資源。

進一步地,參照圖6,基于本發(fā)明安裝包的共享函數(shù)庫文件處理方法第一實施例,在本發(fā)明安裝包的共享函數(shù)庫文件處理方法第二實施例中,上述步驟S40之后還包括:

步驟S50,對包含所述目標壓縮包的安裝包進行簽名處理。

本實施例中,在通過上述編譯平臺編譯生成的安裝包為Android Package(.apk)文件,該文件需要進行通過jarsigner進行簽名處理后得到相應的signer.apk文件時,才能被正常安裝使用。應當說明的是,對包含所述目標壓縮包的安裝包的簽名處理方式和流程均可參照現(xiàn)有apk安裝包的簽名處理方式和流程,在此不再贅述。

進一步地,參照圖7,基于本發(fā)明安裝包的共享函數(shù)庫文件處理方法第二實施例,在本發(fā)明安裝包的共享函數(shù)庫文件處理方法第三實施例中,上述步驟S50之后還包括:

步驟S60,下載安裝所述簽名處理后的安裝包后,判斷是否接收到加載共享函數(shù)庫請求;若是,則執(zhí)行步驟S70;若否,則結束。

步驟S70,當接收到加載共享函數(shù)請求時,判斷共享函數(shù)庫文件是否已經(jīng)被解壓;若是則執(zhí)行步驟S80,若否,則在執(zhí)行完上述步驟S90之后轉(zhuǎn)入執(zhí)行步驟S80;

步驟S80,在所述共享函數(shù)庫文件中加載對應的共享函數(shù)庫;

步驟S90,調(diào)用所述預置壓縮工具從預置位置對所述目標壓縮包進行解壓處理,并將解壓獲得的共享函數(shù)庫文件儲存至預置路徑下。

本實施例中,未簽名的上述apk安裝包經(jīng)過簽名處理后得到可以正常安裝使用的apk安裝包。當用戶在下載安裝apk安裝包后,可以直接運行該apk安裝 包對應的應用程序,該應用程序要加載某個共享函數(shù)庫a.so時,將生成加載共享函數(shù)請求到應用程序管理服務器,以開啟進程加載對應的共享函數(shù)庫a.so。當應用程序管理服務器接收到該加載共享函數(shù)請求時,將首先判斷該加載共享函數(shù)請求對應的共享函數(shù)庫a.so是否被解壓出來,當該加載共享函數(shù)請求對應的共享函數(shù)庫a.so已經(jīng)被解壓出來,則可以直接加載共享函數(shù)庫a.so;當該加載共享函數(shù)請求對應的共享函數(shù)庫a.so還未被解壓出來,則可以調(diào)用上述預置壓縮工具對共享函數(shù)庫a.so進行解壓,儲存到android設備的指定路徑上。

本實施例中,由于將共享函數(shù)庫的解壓與安裝包的解壓分開不同時段處理,從而將兩者的解壓時間打散,減少了apk安裝包的安裝時間。

可以理解的是,上述判斷共享函數(shù)庫文件是否已經(jīng)被解壓的判斷方式可以根據(jù)實際需要進行設置,例如可以查詢在android設備的指定路徑上是否存在共享函數(shù)庫,也可以查詢在android設備的指定路徑上是否存在共享函數(shù)請求對應的共享函數(shù)庫a.so,在此不做進一步地限定。

可以理解的是,上述對解壓后得到的共享函數(shù)庫文件進行壓縮時,壓縮得到的目標壓縮包數(shù)量可以根據(jù)實際需要進行設置。例如可以將所有的共享函數(shù)庫文件放在一起壓縮得到一個目標壓縮包;還可以單獨對每一個共享函數(shù)庫文件進行壓縮,以得到多個目標壓縮包。以下將以兩個不同的方式進行詳細說明。

具體地,參照圖8,基于本發(fā)明安裝包的共享函數(shù)庫文件處理方法第一實施例、第二實施例和第三實施例,在本發(fā)明安裝包的共享函數(shù)庫文件處理方法第四實施例中,上述步驟S30包括:

調(diào)用預置壓縮工具將所有共享函數(shù)庫文件壓縮形成一目標壓縮包。

例如,當解壓上述初始壓縮包得到5個不同的共享函數(shù)庫文件,可以將該5個不同的共享函數(shù)庫文件暫存到預置文件夾下,然后通過調(diào)用上述7-Zip壓縮工具對該預置文件夾進行壓縮處理,以得到一個目標壓縮包。由于在本實施例中,采用一個目標壓縮包打包所有的共享函數(shù)庫文件,因此在后續(xù)安裝apk安裝后,僅需要通過7-Zip壓縮工具進行一次解壓操作即可。即在運行應用程序后首次加載共享函數(shù)庫時,將會將所有的共享函數(shù)庫文件解壓出來。 防止了后續(xù)運行應用程序時,需要解壓共享函數(shù)庫文件,需要等待壓縮延時,從而用戶的體驗。

進一步地,參照圖9,基于本發(fā)明安裝包的共享函數(shù)庫文件處理方法第一實施例、第二實施例和第三實施例,在本發(fā)明安裝包的共享函數(shù)庫文件處理方法第五實施例中,上述步驟S30包括:

調(diào)用預置壓縮工具將所有共享函數(shù)庫文件壓縮,以使共享函數(shù)庫文件對應形成一目標壓縮包。

本發(fā)明安裝包的共享函數(shù)庫文件處理方法第五實施例與本發(fā)明安裝包的共享函數(shù)庫文件處理方法第四實施例的區(qū)別僅在于,本實施例中通過上述7-Zip壓縮工具壓縮共享函數(shù)庫文件得到的目標壓縮包為多個。例如,當解壓上述初始壓縮包得到5個不同的共享函數(shù)庫文件,可以將該5個不同的共享函數(shù)庫文件暫存到預置文件夾下,然后通過調(diào)用上述7-Zip壓縮工具對該每一個共享函數(shù)庫文件進行單獨壓縮處理,以使每一個共享函數(shù)庫文件對應壓縮得到一個目標壓縮包。由于在本實施例中,采用一個目標壓縮包打包所有的共享函數(shù)庫文件,因此在后續(xù)安裝apk安裝后,可以通過7-Zip壓縮工具分時解壓。即在運行應用程序后,僅解壓需要加載的共享函數(shù)庫文件,從而有效降低了空間的占用率。

以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制其專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結構或等效流程變換,直接或間接運用在其他相關的技術領域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1