阿里新推出了一個新的熱更新框架叫:Sophix據說很牛逼我引用下阿里官方的說法!
圖片來源:http://baichuan.taobao.com/docs/doc.htm?spm=a3c0d.7629140.0.0.JilgHu&treeId=234&articleId=106531&docType=1
因為以前并沒有搞過熱更新,所以想進行一番實驗,本來想說下具體的步驟但是真的沒什么好說的因為官方文檔上都已經很詳細了,大家可以點擊官方文檔。
大致的熱更新步驟就是:
生成apk(這個稱為old_apk)->改變代碼->生成新的apk(這個稱為new_apk)。官方提供了一個生成patch的工具,文檔里面有下載地址(不管是sdk的版本和工具的版本最好用最新的)。之后打開后臺把patch傳上去官方還提供了一個測試工具你可以先測試再發布。
在這里主要說一下這個熱更新框架到底能更新那些東西:
圖片來自官方文檔
框架還是很強大的基本上都可以更新,使用中遇到什么問題了嗎?當然了,除了推送的不及時不說還有一些,需要注意的點,就是在后臺輸入的APK的版本號必須和setAppVersion("1.1.3")(是apk的版本號和patch沒關系昂)是一樣的他會根據這個名字去找對應的apk然后進行更新。還有一個問題就是,假如已經打過一個或者多個補丁了那么熱修復就不起作用就需要進行冷修復,也就是需要重啟才能使補丁有效果,但是,如果用戶用著用著突然殺掉這個進程那是相當的不友好啊,解決的辦法我也想好有知道的可以闡述下自己的想法。其他的問題就沒有什么了,其實遇到的問題不少但是自己解決了以后發現很簡單沒必要寫下來,如果遇到什么問題就去加阿里釘釘的群:11734260來提問,有專人解答
最后再次提醒大家:一定要用最近的SDK和測試工具,patch生成工具,還有一點就是在打包的時候把Instant Run關掉(要不可能會出現明明代碼已經改動了但是還是顯示的沒有變化)