當前位置:編程學習大全網 - 源碼下載 - 如何減小android應用程序的apk文件大小

如何減小android應用程序的apk文件大小

壹.工具集介紹

Android壓縮工具集提供了壹種極其簡單的方法,可以在應用中存儲比Android原始Zip更高壓縮比的so文件(以後的版本還可以支持動態加載的jar包和遊戲資源文件的壓縮),同時提供了壹種在應用內網絡中更新下載壓縮文件的方法,使得應用可以在雲端存儲部分so,減小應用的大小。

節省高達50%的空間!

雲平臺測試158臺終端,覆蓋2.3到4.4以上系統版本,100%通過。

100%通過測試!

1s中的8M文件解壓縮

壓縮原理:壓縮工具會利用LZMA算法將所有so壓縮到assert目錄下,應用在首次啟動時會解壓到應用的私有目錄下。

二、工具集的構成

工具集是壹個安裝程序,所以建議安裝在默認路徑。如果安裝在program files下,可能會因為win7可能有讀寫權限的問題導致壹些異常。

安裝後,您可以看到四個目錄,它們都包含源代碼。

安裝後的四個目錄如下

其中ApkLibComrepss是java命令行程序的源代碼。在這個目錄的bin子目錄中,可以找到ApkCompress.jar,它可以用來將普通的apk文件轉換成壓縮的apk文件。

CompressDemo是壹個示例代碼,妳可以參考這個代碼來了解如何集成壓縮後的SDK。

DecRawso是壹個壓縮的SDK。妳的開發項目需要參考這個SDK,做壹些源代碼修改來集成壓縮的功能。

RawsoCreator是windows下的轉換工具,壹般不需要,只在調試和二次開發壓縮SDK時使用。

第三,如何整合壓縮後的SDK

打開Compression Demo,我們就以這個項目為例來說明如何集成compression SDK。

1.首先需要介紹DecRawso項目。

2.那妳需要打電話給DecRawso。NewInstance放在項目的初始位置。在這個演示項目中,這個方法在MainActivity.java的OnCreate中被調用,這個方法創建了壹個惟壹的解壓縮實例。註意:這個方法是異步的,所以可以傳入壹個消息,說明處理程序接受異步解碼。如果同時傳入參數showProgress=true,SDK中會生成壹個進度對話框來阻塞主進程。不建議使用Decrawso.newinstance (mcontext,null,false)。這樣,不接受任何消息,也沒有進度對話框。解壓縮將在後臺自動完成,在應用第壹個load so時會被阻塞,直到後臺解壓縮完成。所以如果阻塞時間過長,可能會導致應用程序無響應。

3.修改load so文件的方法:將所有System.loadlibrary(***)改為?System.load(DecRawso。GetInstance()。GetPath(" * * * ");

對於新版本,這壹步可以省略。sdk將修改系統的庫加載路徑。壹般情況下,系統升級不會有問題(不規則代碼,小概率會隨著安卓升級修改新代碼)。如果方便的話,我們還是會用system。load(declarwso . getinstance()。getpath ("* *))。

經過這些簡單的步驟,壓縮的SDK已經集成到項目中。

  • 上一篇:Acos源代碼編譯教程
  • 下一篇:小數乘法怎樣算?
  • copyright 2024編程學習大全網