什么是增量更新?
現在的APP安裝包體積越來越大,幾百兆甚至上G的,當APP更新時不再是消耗大量的流量下載一個完整安裝包,而是消耗相對很少的流量下載一個增量包(差分包),采用谷歌Smart App Updates更新機制,就能實作APP的更新了,
用戶手機上已經安裝著某個APP,然后只需下載一個增量包,手機上的APP和增量包合并生成完整的新APP,并引導用戶安裝,這個程序就是增量更新,
很多APP都采用了谷歌Smart App Updates更新機制,例如 :微信,支付寶,Play商店,豌豆莢等等,谷歌官方稱采用Smart App Updates更新機制,可以使用戶下載的apk是完整apk的三分之一,也就是說可以幫用戶節省三分之二的下載流量,

據上圖所示,更新一個APP,傳統方式下載apk需要30M流量,而采用增量更新機制,只需下載10M的patch檔案(增量包)就可以了,
如何用工具生成增量檔案?
1.下載bsdiff_win_exe.zip并解壓到本地,
2.打一個舊版本安裝包(例如:v6.3.8.apk),再打一個新版本的安裝包(例如:v6.3.9.apk),并一同放在剛才解壓的目錄下,
3.打開Windows命令列工具,進入到解壓目錄,輸入 bsdiff.exe v6.3.8.apk v6.3.9.apk.apk v6patch.patch,然后回車可以看到下圖:

bsdiff.exe 是用來生成增量包的,還有一個bspacth.exe是用來生成新的安裝包的,v6patch.patch檔案就是我們剛剛生成的增量包,
如何用工具生成新的安裝包?
現在我們有了patch檔案,和舊的安裝包,就可以生成新的安裝包了,下面介紹兩種方式生成新的安裝包,
方式一:
用工具生成的方法,打開Windows命令列工具,進入到解壓目錄,輸入 bspacth.exe v6.3.8.apk new.apk v6patch.patch ,然后回車可以看到下圖:

這個new.apk就是我們生成的新的安裝包了,
方式二:
用移動端代碼生成,也就是Android代碼實作增量更新,增量檔案服務端生成好后,當APP運行啟動時,我們開始檢查版本更新,如果有更新就開個子執行緒去下載增量檔案,下載完成再與當前運行的APP進行合并生成新的APP,并安裝.
1.在project的build.gradle添加如下代碼(如下圖)

- 在Module的build.gradle添加依賴(如下圖)

3.添加權限

4.集成代碼(如下圖)


以上就是android實作增量更新的代碼,通過代碼的方式就能像方式一那樣生成新的APP安裝包了,
最后記得將增量包上傳至服務器,然后供移動端下載此包,就可以測驗增量更新的功能了!
今天的分享結束了,再見~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/189904.html
標籤:其他
上一篇:Banner框架實作圖片輪播
