Robust

Android 热更新方案
授权协议 Apache
开发语言 Java Groovy
所属分类 程序开发、 其他开发相关
软件类型 开源软件
地区 国产
投 递 者 邢骏
操作系统 Android
开源组织
适用人群 未知
 软件概览

Robust,美团开源的新一代热更新系统,对 Android 版本无差别兼容,无需发版就可以做到随时修改线上 bug,快速对重大线上问题作出反应。Robust 热更新系统借鉴 Instant Run 原理,实现了一个兼容性更强而且实时生效的热更新方案。其基本思路是,Robust 热更新系统在一个方法的入口处插入一段跳转代码,当发现某个方法出现 bug 就跳转执行补丁中的代码,略过原有代码的执行,否则执行原有方法体逻辑。

优势

  • 支持 Android2.3-7.X 版本

  • 高兼容性、高稳定性,修复成功率高达三个九

  • 补丁下发立即生效,不需要重新启动

  • 支持方法级别的修复,包括静态方法

  • 支持增加方法和类

  • 支持 ProGuard 的混淆、内联、优化等操作

需要保存打包时生成的 mapping 文件以及 build/outputs/robust/methodsMap.robust 文件。

  • 地址: https://gitee.com/mirrors/Robust https://github.com/Meituan-Dianping/Robust   当前版本:0.4.99(目前不支持AGP4.1.0:https://github.com/Meituan-Dianping/Robust/issues/434,可以用0.4.100试试)   项目的build.gradle depend

 相关资料
  • 由于 imi 基于 Swoole 常驻内存,所以 PHP 的一大特点热更新就没有了。 为此,imi 中实现了业务代码的热更新,方便开发调试、动态部署,支持平滑重载。 有了热更新,开发时只需要保存代码,短短几秒甚至一瞬间,刷新页面,就可以立即看到效果! 配置 imi 默认开启了热更新,如果需要关闭或者个性化设置请看下文: 热更新通过配置文件中的beans节配置。 详见下面的注释: 'hotUpdat

  • “热更新”不不是简单地在您编辑文件时重新加载页面。开启着热更新,当你编辑一个*.vue 文件,这个组件所有的实例会在不刷新界面的情况下更新。 它甚至保留应用程序和这些组件相对应的当前状态!当你调整组件的模板或样式时,这大大提高了开发的体验。 当使用vue-cli构建项目时,热更新即可启用。

  • ConfigMap是用来存储配置文件的kubernetes资源对象,所有的配置内容都存储在etcd中,下文主要是探究 ConfigMap 的创建和更新流程,以及对 ConfigMap 更新后容器内挂载的内容是否同步更新的测试。 测试示例 假设我们在 default namespace 下有一个名为 nginx-config 的 ConfigMap,可以使用 kubectl命令来获取: $ kube

  • 应用更新部署无需reload或者restarthi-nginx。hi-nginx-java能根据全局配置 route { lrucache { reflect { expires = 300 size = 1024 } } } 自动实现热更新。关键值由"route.lrucache.reflect.e

  • 这篇文档将全面覆盖热更新管理器 AssetsManager 的设计思路,技术细节以及使用方式。由于热更新机制的需求对于开发者来说可能各不相同,在维护过程中开发者也提出了各个层面的各种问题,说明开发者需要充分了解热更新机制的细节才能够定制出符合自己需要的工作流。所以这篇文档比较长,也尽力循序渐进得介绍热更新机制,但是并不会介绍过多使用层面的代码,对于想要先了解具体如何使用热更新机制来更新自己游戏的开

  • 前言 之所以这篇文档的标题为教程,是因为目前 Cocos Creator 资源热更新的工作流还没有彻底集成到编辑器中,不过引擎本身对于热更新的支持是完备的,所以借助一些外围脚本和一些额外的工作就可以达成。 本篇文档的范例工程可以从 GitHub 仓库 获取。 使用场景和设计思路 资源热更新的使用场景相信游戏开发者都非常熟悉,对于已发布的游戏,在游戏内通过从服务器动态下载新的游戏内容,来时刻保持玩家

  • vuecli.vue3,一个简单的页面,点击按钮调出弹窗: vscode每次改完代码保存->热更新,console就会报出警告,component丢失了,应该是子组件从新渲染,然后代码中的proxy还保持的是之前渲染的子组件; 这时候页面还是好的,报错出现在点击事件里: 子组件丢失了,要刷新才能同步,有没有解决办法

  • 本文向大家介绍解读golang plugin热更新尝试,包括了解读golang plugin热更新尝试的使用技巧和注意事项,需要的朋友参考一下 当我们在使用php开发的时候,基本不需要关心热更新这件事的,因为PHP本身已经帮我处理好了,只需要提交代码,PHP重新解释一遍即可。而go则是静态语言,编译后得到的是直接被机器执行的,所有代码已经翻译成相对应的机器指令并且在运行时已经加载到内存,不能动态更