Robust 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Robust 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Robust 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Robust 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Robust 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

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

优势

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

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

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

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

  • 支持增加方法和类

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

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

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (1)

加载中
动态hook啊,也不是啥新玩意
2017/03/25 23:06
回复
举报
更多评论
发表了资讯
2017/03/20 10:28

美团 Android 热更新方案 Robust 开源,包含自动化补丁工具

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

15
91
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2019/08/22 09:48

Robust Real-Time Face Detection

我们构建了一个正面人脸检测系统,实现了与已发表的最佳结果相当的检测和假正性率。该人脸检测系统与以前的方法最明显的区别在于它能够非常快速地检测人脸。在传统的700mhz Intel Pentium III上,人脸以每秒15帧的速度在384×288像素的图像上运行。在其他人脸检测系统中,辅助信息,如视频序列中的图像差异,或彩色图像中的像素颜色,都被用来实现高帧率。我们的系统实现了高帧率的工作,只有在一个单一的灰度图像中的信息。这些...

0
0
发表了博客
2019/03/06 21:41

Linux下robust互斥锁实现

一、robust互斥锁 这种类型的锁可能不是POSIX标准中规定的锁,但是也有可能是,这个不太确定,暂时不管。这种类型的锁主要是解决当一个持有互斥锁的线程退出之后这个锁成为不可用状态的一个问题来的。可以想象,一个线程可能持有很多的锁,也可能没有,如果此时有一个外部(被其它任务kill)或者内部(出现访问问题或者直接pthread_exit)原因而推出线程,此时虽然这个线程退出是一了百了了,但是其它的线程还是希望能够坚强的运行下...

0
0
发表了博客
2019/10/27 14:39

Multihypothesis Trajectory Analysis for Robust Visual Tracking

Multihypothesis Trajectory Analysis for Robust Visual Tracking 2019-10-27 14:33:49 Paper: https://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Lee_Multihypothesis_Trajectory_Analysis_2015_CVPR_paper.pdf Code: http://mcl.korea.ac.kr/research/object_tracking/dylee_cvpr2015/dylee_cvpr_2015_source_code.zip Project page: http://mcl.korea.ac.kr/research/object_tracking/dylee_cvpr2015/ Re...

0
0
发表了博客
2018/11/16 10:19

Robust Adversarial Examples_鲁棒的对抗样本

https://blog.openai.com/robust-adversarial-inputs/?spm=a2c4e.11153940.blogcont149583.11.4ab360c0mXrtX7 原文中包含视频例子。 我们创建的图像可以在从不同的尺度和视角观察时可靠地欺骗神经网络分类器。 这挑战了上周声称自动驾驶汽车难以恶意欺骗,因为它们从多个尺度,角度,视角等捕获图像。 这张印刷在标准彩色打印机上的小猫照片让分类器误以为它是一台“显示器”或“台式电脑”,无论它是如何缩放或旋转的。 我们期...

0
0
01/22 14:45

SLT2021: HOW FAR ARE WE FROM ROBUST VOICE CONVERSION: A SURVEY

0. 题目 HOW FAR ARE WE FROM ROBUST VOICE CONVERSION: A SURVEY 一个调查: 我们距离鲁棒性强的音色转换还有多远? 1. 摘要 近年来,在深度学习的帮助下,语音转换技术得到了极大的改进,但是在不同条件下产生自然发声的能力仍然不清楚。 在本文中,我们对已知VC模型的鲁棒性进行了深入研究。 我们还修改了这些模型,例如替换了说话人嵌入向量编码,以进一步提高其性能。 我们发现采样率和音频持续时间极大地影响了语音转换。 ...

0
0
发表了博客
2018/05/01 20:29

美团热修复Robust-源码篇

  上一篇主要分析了Robust的使用方法,这一篇就来总结一下Robust的源码分析。   我个人倾向于将Robust框架分为两个部分,自动插入代码和动态加载Patch。 一、Robust源码分析   目前我的分析将Robust动态加载分为两个部分,一部分是插桩后的代码逻辑,一部分是拉取Patch的逻辑。   我们首先来看插桩后的代码(这里面套用的是官方的代码,可能有些过时了)   插桩前 public long getIndex() { return 100; }   ...

0
0
发表了博客
2018/06/21 15:02

PaperReading——Robust Continuous Clustering(RCC)

论文阅读——基于鲁棒性聚类 Here I will summarize the RCC Algorithm for more details by myself. \begin{algorithm}[H] \caption{Construct Mutual-kNN for Large Dataset Algorithm} \begin{algorithmic}[1] \Require X (array) 2d array of data of shape (nsamples, ndim) k (int) number of neighbors for each sample in X measure (string) distance metric, one of 'cosine' or 'euclidean' \Ensur...

0
0
发表了博客
2019/11/15 10:58

美团Robust热修复框架原理解析

## 一、热修复框架现状 目前热修复框架主要有QQ空间补丁、HotFix、Tinker、Robust等。热修复框架按照原理大致可以分为三类: 1. 基于 multidex机制 干预 ClassLoader 加载dex 2. native 替换方法结构体 3. instant-run 插桩方案 QQ空间补丁和Tinker都是使用的方案一; 阿里的AndFix使用的是方案二; 美团的Robust使用的是方案三。 ### 1\. QQ空间补丁原理 把补丁类生成 `patch.dex`,在app启动时,使用反射获取当前应用的`Clas...

0
0
发表了博客
2018/08/06 12:34

Reading SketchVisor Robust Network Measurement for Sofeware Packet Processing

SIGCOMM17 摘要 在现有的网络测量任务中包括流量监测、数据收集和一系列网络攻击的预防。现有的基于sketch的测量算法存在严重性能损失、大量计算开销以及测量的精确性不足,而基于硬件的优化方法并不适合sketch。为了完成这些任务,设计了一种基于纯软件包转发的网络测量框架,并改进现有算法提出了两种算法。这个网络测量框架具有高性能(line-rate)、高精度、广泛性(适用于多种sketch算法)、自动化(自动调节负载)的特点。...

0
0
发表了博客
2019/08/04 22:00

泡泡一分钟:Fast and Robust Initialization for Visual-Inertial SLAM

张宁 Fast and Robust Initialization for Visual-Inertial SLAM 链接:https://pan.baidu.com/s/1cdkuHdkSi9x7l-96zMbX7g 提取码:b3ff Carlos Campos, Jos´e M.M. Montiel and Juan D. Tard´os Visual-inertial SLAM (VI-SLAM) requires a good initial estimation of the initial velocity, orientation with respect to gravity and gyroscope and accelerometer biases.In this paper we build on the initialization m...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2018/11/05 14:57

美团robust多个补丁只有一个补丁生效.

各位老哥好, 接入美团robust, 发现List fetchPatchList中有多个补丁时, 实际上只有一个补丁生效. 我开始修改方法A, 生成一个补丁零patch_v0.jar, 然后修改方法B, 生成补丁一patch_v1.jar, 把补丁逐个放到/storage/emulated/0/robust/目录下测试, 都达到预期效果. 但后来发现补丁一中已经包含了补丁零的修改, 这也导致了补丁越来越大. 后来我试下在制作补丁前把之前制作补丁零的标识(如@modify )去掉, 制作出来的补丁一单独测试也...

1
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
1 评论
39 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部