天天看點

美團 Android 熱更新方案 Robust 開源,包含自動化更新檔工具

美團 android 熱更新方案 robust 開源了。

robust 是新一代熱更新系統,對 android 版本無差别相容,無需發版就可以做到随時修改線上 bug,快速對重大線上問題作出反應。robust 熱更新系統借鑒 instant run 原理,實作了一個相容性更強而且實時生效的熱更新方案。其基本思路是,robust 熱更新系統在一個方法的入口處插入一段跳轉代碼,當發現某個方法出現 bug 就跳轉執行更新檔中的代碼,略過原有代碼的執行,否則執行原有方法體邏輯。

優勢

支援 android2.3-7.x 版本

高相容性、高穩定性,修複成功率高達三個九

更新檔下發立即生效,不需要重新啟動

支援方法級别的修複,包括靜态方法

支援增加方法和類

支援 proguard 的混淆、内聯、優化等操作

需要儲存打包時生成的 mapping 檔案以及 build/outputs/robust/methodsmap.robust 檔案。

自動化更新檔

自動化更新檔是 robust 實作的一個躍進,開源版本中也已經包含這部分工作。使用者隻需要送出修改完 bug 後的代碼,運作和線上 apk 打包同樣的 gradle 指令即可,會在項目的 app/build/outputs/robust 目錄下生成更新檔。

具體實作原理和樣例請查閱項目文檔。

繼續閱讀