美团 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 目录下生成补丁。
具体实现原理和样例请查阅项目文档。
本文来自开源中国社区 [http://www.oschina.net]

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
CyanogenMod 不再释出稳定版 计划每两周发布一个M版
流行的Android社区Mod CyanogenMod宣布发布11.0 M6,同时宣布改变发布方案,不再释出所谓的稳定版本,它计划每个月发布两个可靠的M版更新。CyanogenMod解释说,时间间隔较长的稳定版本不再适合他们,目前的M版发布周期满足需要,能更快的向用户释出修正。 M版是基于CM稳定分支,它与稳定版的区别是释出更频繁,标记不同而已,他们完全可以将M改为stable(稳定),稳定本身是一个误称,它不是没有bug或者功能完整,只是因为名称而让用户产生这些错误印象。 文章转载自 开源中国社区[http://www.oschina.net]
- 下一篇
开放的 Android 系统遇上了麻烦
8月17日,对于供应商来说,从来没有一条推文显得如此之真实或者具有灾难性。几年前,为了回应史蒂夫·乔布斯批评Android并不是真的开放,Google的安迪·鲁宾发了一条推文说任何人都可以拉取Android的分支并修改,这是开放的真实体现。对于Google来说,不幸的是许多OEM对此话信以为真。 如今,Google的Android系统正处于蓬勃发展时期,但同时Android的碎片化也使Google或它的应用开发者生态系统收入最小化了,不幸的是,根据最新的ABI研究报告,情况只会越来越糟。 释放自由基因 虽然这些年来对于Android到底有多开放大众有诸多顾虑,安迪·鲁宾的推文还是让它烟消云散了。 Google开放源码主席确认了鲁宾的观点,告诉笔者已有超过1000万行基于开放源码许可的Android代码对所有人开放了。 是的,Google控制了Android的整个开发流程,而且可能会选择性地对第三方开放源码,但相对的,Google一直是Android(和许多其它开源工程)的卓越管家。 也许管家做的太好,Android这个领地里付出代价的,却是应用开发者。 开源一直是Google Andr...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS关闭SELinux安全模块
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker安装Oracle12C,快速搭建Oracle学习环境