写点什么

阿里热修复技术,减少在 App 开发中踩坑

  • 2016-08-25
  • 本文字数:1334 字

    阅读完需:约 4 分钟

估计很多的开发者都有过这样的经历,当 App 发布之后,一旦在客户端出现问题,就只能干着急。紧接着各部门会焦头烂额:重新打包 App、测试、向各个应用市场和渠道换包、提示用户升级、用户下载、覆盖安装……有时候仅仅是为了修改了一行代码,也要付出巨大的成本进行换包和重新发布。

那么,有没有更好、更快的方法能更好更快的解决以上问题呢?当然有,热修复补丁技术。

首先,简单介绍一下热修复补丁(hotfix),它又称为 patch,指能够修复软件漏洞的一些代码,是一种快速、低成本修复产品软件版本缺陷的方式。

在移动开发里,热修复和常规升级不同,指的是在用户无感知的情况下修复应用存在的 bug。和升级软件版本相比,热补丁的主要优势是不用重新发布新版本,上传到各大应用商店,就可以对应用当前版本的缺陷进行修复。

目前,行业内大家所熟知的热修复技术包括:Dexposed、AndFix、ClassLoader 等。这里,我们来概述一下这几个热修复技术都有哪些特点。

1、Dexposed 是阿里巴巴无线事业部第一个重量级 Andorid 开源软件,基于 Root 社区著名开源项目 Xposed 改造剥离了 Root 部分,演化为服务于所在应用自身的 AOP 框架。它支撑了阿里大部分 App 的在线分钟级客户端 bugfix 和线上调试能力。

Dexposed 的 AOP 是实现了纯非侵入式,没有任何注释处理器,weaver 或者字节码重写程序。Dexposed 的集成非常简单,就像加载一个 JNI 库一样,只需要在初始化的时候插入一行代码。

经典案例:

  • 典型的 AOP 编程
  • 仪表化 (测试,性能监控等等)
  • 在线热修复(重要,关键,安全漏洞等等)
  • SDK hooking,更好的开发体验

2、AndFix 是阿里巴巴开源的 Android 应用热修复工具,帮助 Anroid 开发者修复应用的线上问题。Andfix 是 “Android hot-fix” 的缩写。AndFix 支持 Android 2.3 - 6.0,ARM 和 x86 架构,dalvik 运行时和 art 运行时。AndFix 的分支是 .apatch 文件。

生成 .apatch 文件:

合并 .apatch 文件:

想要了解更多

8 月 27 日(周六)20:00-21:00,带你一起来解读那些年热修复带来的坑 解析阿里的热修复解法!

阿里百川 HotFix 从直播当晚开始正式进行公测,感兴趣的读者可以到阿里百川官网了解。

扫码下面的二维码参与8 月27 日的直播活动(直播当天会在群里公布直播链接哦),并在阿里百川论坛( https://baichuan.bbs.taobao.com )跟帖回复“你在开发以及热修复过程中踩过的那些坑,以及对热修复技术领域的吐槽、使用感受”就有机会获得阿里巴巴定制电脑包、阿里百川个性 T 恤精美礼品喔!

  1. 回复内容字数不得少于 50 字;
  2. 回复内容需和热修复领域有关,如建议、使用感受、不爽的点或期待的服务等;
  3. 活动 & 扫码时间:8 月 16 日——8 月 27 日;
  4. 直播时间:8 月 27 日晚 20:00-21:00;

活动奖品

  1. 回复内容质量越高奖品越丰厚,我们会邀请阿里热修复技术专家对回复内容进行评分,得分最高的 3 位将获得——阿里定制电脑包。
  2. 随机抽选出 10 名幸运小伙伴获得——阿里百川定制个性 T 恤;

备注

  1. 活动结束后,小编会通过电话确认实物礼品的邮寄地址,请您配合提供;
  2. 灌水帖不计入发帖量和回帖量;
  3. 获奖者会在活动结束后的 7 个工作日内在本帖下方公布,所有礼品均在活动结束后 7 个工作日内发放;

查看直播内容回顾:百川解码精彩回顾:热修复的坑和阿里的解

申请阿里百川 HotFix 公测:阿里百川官网

2016-08-25 07:464822
用户头像

发布了 182 篇内容, 共 105.2 次阅读, 收获喜欢 208 次。

关注

评论

发布
暂无评论
发现更多内容

Plan Stitch:一种使用缝合物理计划解决查询计划性能退化问题的方法

KaiwuDB

数据库 缝合物理计划 计划回退

神州数码正式加入openGauss社区

Mysql开发实践:加载共享库时出错:libaio解决方案

华为云开发者联盟

数据库 后端 企业号十月 PK 榜

实践GoF的设计模式:访问者模式

华为云开发者联盟

开发 华为云 企业号十月 PK 榜

CUDA入门教程;Transformer太火不是好事?;探求GPU极限性能的利器|AI系统前沿动态

OneFlow

人工智能 前沿动态

非常好用统计接口耗时小工具,Java程序员强烈推荐

一灯架构

Java Java 面试 10月月更

Github访问量过百万!阿里内部至尊级分布式事务手册,实至名归!

Geek_0c76c3

Java 数据库 开源 程序员 开发

Spark数据倾斜解决

五分钟学大数据

大数据 spark 10月月更

《软件开发的201个原则》思考:8.与客户/用户沟通

非晓为骁

个人成长 软件工程 软件开发201原则

东方大唐正式加入openGauss社区

转:浏览器的同源策略

小江

JavaScript 同源策略

中科星图正式加入openGauss社区

玩转分布式架构下的可观测性

博睿数据

可观测性 Skywalking Bonree Server 博睿数据数据链DNA 智能运维AIOps

对比传统数据仓库,实时数仓的四大优势

雨果

数据仓库 实时数仓

5 分钟完成 ZooKeeper 数据迁移

阿里巴巴云原生

阿里云 微服务 云原生 MSE

共筑计算新生态共赢数字新时代,云和恩墨大讲堂 x openGauss Meetup x 鲲鹏生态孵化营(成都站)圆满落幕

带你了解5个幽灵攻击与编译器中的消减方法

华为云开发者联盟

后端 开发 编译器 企业号十月 PK 榜

Java8已经发布7年了,不会还有人没用过CompletableFuture吧

一灯架构

Java java面试 10月月更

DeepRec 大规模稀疏模型训练推理引擎

阿里云大数据AI技术

深度学习 推理 稀疏模型 企业号十月 PK 榜

传统大型国企云原生转型,如何解决弹性、运维和团队协同等问题

阿里巴巴云原生

阿里云 Serverless 云原生

openGauss 社区 2022 年 8 月运作报告

Java面试官:你能写个LRU缓存吗?

一灯架构

Java java面试 10月月更

初学开发必看:何为Git,何为SVN

华为云开发者联盟

开发 华为云 企业号十月 PK 榜

2022最强Java面试八股文,大厂offer直通车(跳槽天花板就是你)

程序知音

java面试 后端技术 Java面试八股文 Java后端开发 后端架构开发

OpenStack第26版Zed已发布

极客天地

图尔兹正式加入openGauss社区

太神了!阿里p7大佬总结的Java面试心得,起始—进阶—突击,一应俱全!

Geek_0c76c3

Java 数据库 开源 程序员 架构

人保科技正式加入openGauss社区

zookeeper-watcher、事务、分布式锁的API使用

zarmnosaj

10月月更

Flowable 流程实例的挂起(暂停)与激活

江南一点雨

Java springboot workflow flowable

读书笔记|妙趣横生的图灵奖获得者漫画

宇宙之一粟

读书笔记 漫画 10月月更 图灵

阿里热修复技术,减少在App开发中踩坑_移动_Xue Liang_InfoQ精选文章