美团 Android(安卓)热更新方案 Robust 开源,包含自动化补丁工具
16lz
2021-01-26
美团 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 目录下生成补丁。
具体实现原理和样例请查阅项目文档。
本文来自开源中国社区 [http://www.oschina.net]
更多相关文章
- Android(安卓)Q Beta 6 终极测试版发布!
- 在Android中使用OpenGL ES开发第(四)节:相机预览
- Android.os.AsyncTask类
- android MultiDex multidex原理下超出方法数的限制问题(三)
- Android中贝塞尔曲线的绘制方法示例代码
- Service与Activity通信
- Android中如何打开或关闭GPS
- 解決在 Android(安卓)中使用 Bitmap 造成 Out of memory 的方法~
- Android目前流行三方数据库ORM分析及对比