日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
AndroidApp補(bǔ)丁更新

移動(dòng)互聯(lián)網(wǎng)主打的就是用戶體驗(yàn)和產(chǎn)品的快速迭代,通過(guò)用戶反饋和用戶行為跟蹤及時(shí)調(diào)整產(chǎn)品方向,這樣才能持續(xù)保持生命力和創(chuàng)造力。說(shuō)的接地氣點(diǎn)就是,你頻繁的升級(jí)更新,有時(shí)只是修復(fù)了幾個(gè)bug或者微調(diào)了下界面,就讓用戶下載10幾兆甚至更大的apk,而且在目前國(guó)內(nèi)這個(gè)4G還不是普及的時(shí)候,對(duì)用戶來(lái)說(shuō)是很不友好的。有沒(méi)有這樣一種策略呢,就如windows系統(tǒng)上打補(bǔ)丁一樣,通過(guò)體積比較小的補(bǔ)丁來(lái)完善系統(tǒng)存在的bug或者新功能的實(shí)現(xiàn),如果可以實(shí)現(xiàn)的話,用戶就再不會(huì)苦著臉去更新app了。答案是肯定的,要實(shí)現(xiàn)這個(gè)功能,需要以下兩個(gè)步驟。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),曲阜企業(yè)網(wǎng)站建設(shè),曲阜品牌網(wǎng)站建設(shè),網(wǎng)站定制,曲阜網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,曲阜網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

一、比對(duì)新版本與老版本之間的差異,***只下載差異的部分

思路很簡(jiǎn)單,也非常清晰,那我們就照著這個(gè)目標(biāo)行進(jìn)。apk本身其實(shí)是一個(gè)zip壓縮包,你改下后綴名,再雙擊解壓就能得到apk內(nèi)部的編譯打包后的文件,圖片音頻等文件是直接可以可讀的,其他的就得通過(guò)反編譯工具去查看了。所以我們應(yīng)用的安裝文件apk就是一個(gè)二進(jìn)制文件,如何得到兩個(gè)二進(jìn)制文件的差異文件---差異包呢?好消息是已經(jīng)有前人實(shí)現(xiàn)了,它的名字bsdiff,一個(gè)差異包比較工具,全稱是binary diff,二進(jìn)制差異的意思。通過(guò)bsdiff,我們就能得到兩個(gè)apk的差異包了,下面我會(huì)把整理的命令文件打包到代碼中上傳Github上供大家使用的。bsdiff為我們提供的僅是一組用C實(shí)現(xiàn)的代碼,需要自己去編譯構(gòu)建,我已經(jīng)為大家準(zhǔn)備了windows、OSX、Linux不同平臺(tái)下使用的命令。

由于我的電腦是macbook,執(zhí)行命令如下

執(zhí)行命令之后,得到xx.patch,我們下面要下載的就是這個(gè)差異包。根據(jù)不同版本之間的差異,相對(duì)整個(gè)apk來(lái)說(shuō),差異包的體積會(huì)小很多。同時(shí)如果你 的應(yīng)用老版本有多個(gè)的話,你就需要生成對(duì)應(yīng)的多個(gè)差異包。如果要想生成的流程自動(dòng)化的話,找后臺(tái)的哥們配合下就能輕松解決。

二、手機(jī)本地下載差異包,再和舊版本apk進(jìn)行合并,***合并成新版本apk。

根據(jù)當(dāng)前版本號(hào),向服務(wù)器發(fā)起請(qǐng)求,就得下載到對(duì)應(yīng)的差異包。下面就是舊版本apk和patch合并的一步了,由于java本身并沒(méi)有提供相應(yīng)的api, 我們需要C去幫助實(shí)現(xiàn),然后生成.so包進(jìn)行調(diào)用。相對(duì)于生成差異包的bsdiff,也給提供了另一個(gè)bspatch,這個(gè)就是幫助我們進(jìn)行文件和平的。 如果要在Android中實(shí)現(xiàn)這一步,就需要去配置NDK的開(kāi)發(fā)環(huán)境了,如果不想的同學(xué)可以直接把demo里面的.so文件拿出來(lái)用。調(diào)用下面的這個(gè)方法 就可以實(shí)現(xiàn)文件的合并

合并出的apk文件,與***的安裝包并無(wú)區(qū)別,具有同樣的特征值。***通過(guò)Intent進(jìn)行安裝。

寫(xiě)在***:有可能有的用戶所使用的版本比較老,與***的apk相差很大的話,還是建議根據(jù)生成差異包的大小進(jìn)行判定是否去直接下載apk進(jìn)行更新。同時(shí)根 據(jù)不同版本對(duì)應(yīng)不一樣的差異包,和后端的小伙伴合作去自動(dòng)化生成的話,大大減少了生成差異包時(shí)間上的浪費(fèi)。***如果只是修復(fù)關(guān)鍵性bug或者幾個(gè)新需求的 添加,產(chǎn)生的差異包會(huì)很小,也會(huì)大大的減少了用戶的下載時(shí)間和流量消耗。

源碼地址:https://github.com/JackCho/AndroidPatchUpdate

本文鏈接:http://my.oschina.net/jack1900/blog/301330


分享題目:AndroidApp補(bǔ)丁更新
鏈接URL:http://www.dlmjj.cn/article/dhcgjgp.html