国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android增量更新(1)

2019-11-08 00:19:49
字體:
來源:轉載
供稿:網(wǎng)友
背景        隨著android應用體積的不斷增大,以及應用版本發(fā)布的不斷更迭,用戶的升級成了一個問題,google也意識到不斷更新應用對用戶流量的損耗,在Google I/O 上提及的 Smart App update,即應用增量升級,或者叫做差分升級的做法,并在新版本的Google Play中得到支持,某天在和群友聊天是扯到這方面的話題,好奇就稍微研究了一下。增量更新:減少下載流量。增量更新:1。用戶提取以前的old.apk2. 如何從old.apk和new.apk中提取增量文件(查分patch)。(理論上是服務器那邊操作)3,使用增量文件與old.apk文件進行合并如果能解決以上3個問題就,ok了。核心知識為 第二點和第三點,增量更新注意一點,版本的控制增量文件的提取和合并android 提供了我們制作增量更新的工具 " bsdiff"這個是一個開源的二進制查分工具,相關的代碼地址 或者在android的代碼目錄下 /external/bsdiff使用 bsdiff工具生成 patch文件下載 bsdff包 解壓打開cmd 使用 命令 bsdiff old.apk news.apk test.patch 如圖生成差分包 test.patch ,把這個差分包上傳到服務器,提供用戶下載,不同的版本,生成不同的差分包。   用戶在下載了 xx.patch補丁包后,需要用到補丁所對應的apk,即原來系統(tǒng)安裝的舊版本apk和補丁合成的bspatch工具。系統(tǒng)舊版本的apk可以通過copy系統(tǒng)data/app目錄下的apk文件獲取,而補丁合成的bspatch可以通過將bspatch源碼稍作修改,封裝成一個so庫,供手機端調用。使用cmd命令來合并一個新的apk bspatch 1.apk new2.apk test.patch 如圖 生成 new2.apk檢驗合成的news.apk 和2.apk是否一樣,使用命令查詢2個文件的md5值是否一樣certutil -hashfile 2.apk MD5>certutil -hashfile news2.apk MD5不足     增量升級并非完美無缺的升級方式,至少存在以下兩點不足:    1.增量升級是以兩個應用版本之間的差異來生成補丁的,你無法保證用戶每次的及時升級到最新,所以你必須對你所發(fā)布的每一個版本都和最新的版本作差分,以便使所有版本的用戶都可以差分升級,這樣操作相對于原來的整包升級較為繁瑣,不過可以通過自動化的腳本批量生成。    2.增量升級成功的前提是,用戶手機端必須有能夠讓你拷貝出來且與你服務器用于差分的版本一致的apk,這樣就存在,例如,系統(tǒng)內置的apk無法獲取到,無法進行增量升級;對于某些與你差分版本一致,但是內容有過修改的(比如破解版apk),這樣也是無法進行增量升級的,為了防止合成補丁錯誤,最好在補丁合成前對舊版本的apk進行sha1sum校驗,保證基礎包的一致性。參考 文章 地址 http://blog.csdn.net/hmg25/article/details/8100896

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 肥东县| 鄢陵县| 宁明县| 巴中市| 衡东县| 云霄县| 开原市| 桃江县| 冀州市| 独山县| 体育| SHOW| 甘谷县| 连州市| 长寿区| 萝北县| 延长县| 凉城县| 荃湾区| 独山县| 丹东市| 柞水县| 阳信县| 汶川县| 灵武市| 黄石市| 固始县| 阿拉善右旗| 叶城县| 安西县| 关岭| 西乌珠穆沁旗| 昌都县| 栾川县| 通许县| 金堂县| 哈密市| 定西市| 清镇市| 铅山县| 敦化市|