轉自:http://www.jianshu.com/p/a9ec8fa780e2
Android應用更新要使用完整的新版本Apk安裝,增量更新則是提供一個新舊版本偏差數據的patch包供應用下載,然后Android應用本地使用patch包和本地apk合成新版本apk。而patch包的體積通常都遠小於新版本的apk,可以為用戶節省流量和下載時間,節省時間就是延續生命,所以增量更新十分實用。
一些學習文章:
Android應用的增量更新
Android 增量更新完全解析 是增量不是熱修復
資料里十分詳細的介紹了如何在你自己的Android項目中部署增量更新功能,而實際上這個部署過程對新手來說是復雜而浪費時間的。它需要做配置NDK,並移植bsdiff/bspatch工具到Android系統,編寫jni調用等麻煩事,這是墜痛苦的。
I am Angry!!! 你們這樣搞是不行的!!!
應運而生的BigNews框架(Github: ha-excited/BigNews)為你省去了麻煩的增量更新部署過程,無需添加代碼配置文件以及NDK編譯,你只需要:
- 在你項目根build.gradle添加代碼:
allprojects { repositories { ... maven { url 'https://jitpack.io' } } }
- 在你項目模塊內的build.gradle添加代碼,然后Gradle Sync:
dependencies { compile 'com.github.ha-excited:BigNews:0.1.1' }
- 下載到patch文件后,你只需要寫一句話,就可以合成新版本apk了。
String oldApkPath = ...; String newApkPath = ...; String patchPath = ...; //我就說一句話,這是墜吼的! BigNews.make(oldApkPath, newApkPath, patchPath); //已經弄出了一個大新。。安裝包放在newApkPath路徑下,隨時准備升級!!
簡直是Too simple!!!excited!!!
很慚愧,做了一點微小的工作, 謝謝大家。日-日
作者:龍城狂霸拽爺
鏈接:http://www.jianshu.com/p/a9ec8fa780e2
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。