美团 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]

更多相关文章

  1. Android(安卓)Q Beta 6 终极测试版发布!
  2. 在Android中使用OpenGL ES开发第(四)节:相机预览
  3. Android.os.AsyncTask类
  4. android MultiDex multidex原理下超出方法数的限制问题(三)
  5. Android中贝塞尔曲线的绘制方法示例代码
  6. Service与Activity通信
  7. Android中如何打开或关闭GPS
  8. 解決在 Android(安卓)中使用 Bitmap 造成 Out of memory 的方法~
  9. Android目前流行三方数据库ORM分析及对比

随机推荐

  1. zdz工具箱v1.5 android版本发布了,集成各
  2. 什么是Azure Backup
  3. 牛逼 IDE 插件,一键部署 Docker 镜像,开发
  4. 芋道 Spring Cloud Alibaba 介绍
  5. 芋道 Spring Boot 快速入门
  6. 阿里云也有 IDEA 插件 Cloud Toolkit
  7. 芋道 Spring Cloud Alibaba 注册中心 Nac
  8. pytest测试入门篇(ExitCode退出码)
  9. 芋道 Spring Boot 自动配置原理
  10. 芋道 Spring Boot 热部署入门