Android 增量更新bsdiff和bspatch

Android 增量更新

最近的項目需求维费,最近對這個增量更新有了一些認(rèn)識,另外把增量更新的一下資料整理給大家分析一下優(yōu)勢和劣勢促王。

增量更新的原理

首先增量更新不是熱修復(fù)犀盟,兩個概念不同,增量更新就是比較兩個apk之間的二進(jìn)制差異蝇狼,生成patch包然后打入舊的apk里面從而達(dá)到生成新的apk阅畴。例如說:第一個版本是3M的apk ,第二個是8M的apk 迅耘,生成的patch包可能就在4M左右贱枣,甚至更小监署,但也不是單純的兩個apk相減的差值,有可能兩個大小差不多的apk纽哥,生成patch包可能在1M左右焦匈,這個也是看包里的改動大小。生成的 patch下載到Android設(shè)備上跟較低版本的apk合成一個新版本的apk文件昵仅,如果不出意外的話缓熟,這個生成的apk和你之前做差分的apk是一致的。這么做就會為用戶去節(jié)省很多的流量摔笤,就不會讓用戶去下載完整的apk够滑。

升級步驟

bsdiff和bspatch這些工具如何獲取和使用在后面介紹

首先通過bsdiff 生成patch包 ? ? ? ?命令:bsdiff oldfile newfile patchfile ? ? ? ? ? 例如:?bsdiff?xx_v1.0.apk?xx_v2.0.apk?xx.patch

bspatch生成新的APK:? ? 命令: bspatch oldfile newfile patchfile? ? ? 例如: bsdiff xx_v1.0.apk xx_v2.0.apk xx.patch

無論是windows端還是Linux端都是執(zhí)行的這兩個命令

缺點

增量升級并非完美無缺的升級方式,至少存在以下兩點不足:

1.增量升級是以兩個應(yīng)用版本之間的差異來生成補丁的吕世,你無法保證用戶每次的及時升級到最新彰触,所以你必須對你所發(fā)布的每一個版本都和最新的版本作差分,以便使所有版本的用戶都可以差分升級命辖,這樣操作相對于原來的整包升級較為繁瑣况毅,不過可以通過自動化的腳本批量生成。

2.增量升級成功的前提是尔艇,用戶手機端必須有能夠讓你拷貝出來且與你服務(wù)器用于差分的版本一致的apk尔许,這樣就存在,例如终娃,系統(tǒng)內(nèi)置的apk無法獲取到味廊,無法進(jìn)行增量升級;對于某些與你差分版本一致棠耕,但是內(nèi)容有過修改的(比如破解版apk)余佛,這樣也是無法進(jìn)行增量升級的,為了防止合成補丁錯誤窍荧,最好通過md5 或者其他方式對patch包進(jìn)行完整性的校驗辉巡。


bsdiff網(wǎng)站http://www.daemonology.net/bsdiff/


bsdiff的源碼鏈接:

這個源碼反正我是看不懂,能看懂的同學(xué)可以去研究一下蕊退,代碼變量太變態(tài)而且沒有注釋郊楣,附上源碼下載鏈接:

http://pan.baidu.com/s/1nvLe3O1 密碼:pvl4

在Ubuntu下獲取bsdiff工具

在Ubuntu下獲取bsdiff的方法很簡單直接敲bsdiff命令就可以了,如果沒有安裝就會提示你用命令? sudo apt-get install bsdiff 直接就OK了

在windows下使用bsdiff工具

bsdiff工具 :http://sites.inka.de/tesla/download/bsdiff4.3-win32.zip(32bit)

bsdiff工具源碼:?http://sites.inka.de/tesla/download/bsdiff4.3-win32-src.zip(32bit)

這個是在bsdiff上源碼上修改的能夠直接在VS上直接編譯修改有其他需求的同學(xué)可以拿來用

在Android上使用bsdiff工具

這個也是在bsdiff上源碼上修改的咕痛,通過jni調(diào)用來使用bsdiff的這些功能痢甘,其實Android上只需要使用bspatch就可以了應(yīng)該是不大會用到bsdiff這個功能反正源碼中也是都涵蓋了這兩個功能喇嘱,可以隨意使用下面附上代碼連接:鏈接:http://pan.baidu.com/s/1hsNW0Kk 密碼:f31o

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末茉贡,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子者铜,更是在濱河造成了極大的恐慌腔丧,老刑警劉巖放椰,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異愉粤,居然都是意外死亡砾医,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門衣厘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來如蚜,“玉大人,你說我怎么就攤上這事影暴〈戆睿” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵型宙,是天一觀的道長撬呢。 經(jīng)常有香客問我,道長妆兑,這世上最難降的妖魔是什么魂拦? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮搁嗓,結(jié)果婚禮上芯勘,老公的妹妹穿的比我還像新娘。我一直安慰自己腺逛,他們只是感情好借尿,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著屉来,像睡著了一般路翻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上茄靠,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天茂契,我揣著相機與錄音,去河邊找鬼慨绳。 笑死掉冶,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的脐雪。 我是一名探鬼主播厌小,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼战秋!你這毒婦竟也來了璧亚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤脂信,失蹤者是張志新(化名)和其女友劉穎癣蟋,沒想到半個月后透硝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡疯搅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年濒生,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片幔欧。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡罪治,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出礁蔗,到底是詐尸還是另有隱情规阀,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布瘦麸,位于F島的核電站谁撼,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏滋饲。R本人自食惡果不足惜厉碟,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望屠缭。 院中可真熱鬧箍鼓,春花似錦、人聲如沸呵曹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奄喂。三九已至铐殃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間跨新,已是汗流浹背富腊。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留域帐,地道東北人赘被。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像肖揣,于是被迫代替她去往敵國和親民假。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容

  • @[增量更新,差分包,bsdiff/patch] 背景 隨著Android app的不斷迭代升級龙优,功能越來越多羊异,a...
    SunYo閱讀 14,618評論 2 7
  • 增量更新在Android開發(fā)中是一種很常見的技術(shù)球化。 增量更新的原理 增量更新的原理非常簡單,就是將本地apk與服務(wù)...
    re冷星閱讀 1,570評論 3 3
  • 在前幾年瓦糟,整體移動網(wǎng)絡(luò)環(huán)境相比現(xiàn)在差很多筒愚,加之流量費用又相對較高,因此每當(dāng)我們發(fā)布新版本的時候菩浙,一些用戶升級并不是...
    涅槃1992閱讀 5,489評論 2 39
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,072評論 25 707
  • 同核心對話劲蜻,與傳統(tǒng)同行 ——七年級語文試題之我見 周一上午陆淀,監(jiān)考七年級語文測試∠孺遥考場恰好有一學(xué)生缺考轧苫,拿起試卷一番...
    3a46c6c474e4閱讀 227評論 0 0