Android APP增量公升級的實現方式

2021-06-21 10:44:17 字數 1160 閱讀 9358

實現原理

實現弄清楚原理之後,我們就需要解決兩個問題: 

1.如何比對兩個版本的apk生成差異包; 

2.如何使用舊的apk+差異包,生成乙個新apk; 

(1)生成差異包

這一步需要在伺服器端來實現,一般來說,apk有新版本之後,需要往後臺管理端上傳新apk,上傳時就應該生成每乙個舊版與最新版本的差異包。 

假設,你的apk已經發布了3個版,1.0,2.0,3.0,這時候你要在後台發布4.0,在你上傳時,就應該生成 

1.0——>4.0的差異包; 

2.0——>4.0的差異包; 

3.0——>4.0的差異包; 

選擇使用這個開源二進位制比較工具來實現: 

其中bsdiff.c是二進位制檔案比對的**;bspatch.c是二進位制檔案合成的**; 

我們將使用這個bsdiff來生成兩個apk的patch包,並且使用bspatch.c來合成舊apk與patch包; 

使用bsdiff、bspatch時,還需用到bzip2:  

我們需要用到bzip2-1.0.6.tar.gz中以下13個檔案(這裡面可能有的是不需要的,我都拷貝過來了): 

blocksort.c

02bzip2.c

03bzip2recover.c

04bzlib_private.h

05bzlib.c

06bzlib.h

07compress.c

08crctable.c

09decompress.c

10dlltest.c

11huffman.c

12randtable.c

13spewg.c

android OTA 公升級包含增量公升級

ota 全稱over the air ota 公升級是android 系統提供的標準軟體公升級方式。它功能強大,提供了完全公升級 增量公升級模式,可以通過 sd 卡公升級,也可以通過 網路公升級。這裡,首先介紹sd卡公升級,網路公升級原理和sd卡大致一樣.下面我們將介紹這一過程.在公升級前,我們要準...

Android app的公升級更新,安裝,啟動

public class updatemanager public string isdownloadapk return versionname public updatemanager context context 檢測軟體更新 public void checkupdate 獲取軟體版本號 ...

QT windows 桌面應用程式增量公升級一種方案

討論公升級方案之前,我們先聊一聊增量公升級怎麼實現,我暫時認為有兩種實現方式 增量包的定義 每次公升級,將所有相對於前乙個版本更改的檔案壓縮成乙個zip包,即為公升級包。比如當前版本 4.0.0.0。我們更改了c 的一些功能,只改變了assist.exe.新版本為 4.0.0.1.那麼v4.0.0....