阿里热修复Hotfix

移动热修复(Mobile Hotfix)是阿里云提供的全平台App热修复服务方案。产品基于阿里巴巴首创hotpatch技术,提供最细粒度热修复能力,让您无需等待实时修复应用线上问题。当产品已有功能出现问题,无需发版,即可发补丁,实时修复。

Hotfix产品优势:
  • 跨平台支持
    支持Android平台。同一版本的Android端首次被打补丁时,不用重启直接加载(支持热启动);支持iOS平台
  • 补丁版本管理
    开发者可以在控制台创建多个版本,同时管理多个补丁,方便查看补丁状态
  • 本地测试
    提供了调试工具实现本地测试,方便开发者在正式发布前,在自己的手机本地进行测试。
  • 多种发布操作
    提供多种发布方式,方便开发者根据自身业务需要选择性使用。灰度发布、全量发布、发布停止、发布回滚
  • 数据统计
    可以统计:成功推送设备数:每当有设备发起一次更新请求,且补丁下载成功,则记为一次成功推送;累计加载设备数:每当有设备成功加载该补丁,则记为一次累计加载。
  • 补丁一键清除
    使用补丁一键清除功能,开发者可以对指定应用版本下面的所有补丁进行一键清除操作,用户下次打开应用时,将自动清除本地所有补丁,回滚至无补丁状态。
    一步一步接入Hotfix SDK

Hotfix接入地址
我自己是按照官方文档做成功了一遍,做了一个app,写了一个崩溃处,为问题apk,然后进行处理崩溃,再打出修复版apk,生成补丁文件,发布版本,然后原有崩溃出自动修复。

  1. 登录阿里云账号后,进入移动研发平台,创建产品。
    在这里插入图片描述
  2. 配置项目信息
    在这里插入图片描述
  3. 配置项目级目录下build.gradle文件。
buildscript {
    repositories {
        google()
        jcenter()

        maven {
            url 'http://maven.aliyun.com/nexus/content/repositories/releases/'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.0'
        
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files

        // 添加emas-services插件
        classpath 'com.aliyun.ams:emas-services:1.0.1'
    }
}

allprojects {
    repositories {
        google()
        jcenter()

        maven {
            url 'http://maven.aliyun.com/nexus/content/repositories/releases/'
        }
    }
}

配置app目录下build.gradle文件

apply plugin: 'com.aliyun.ams.emas-services'

在移动平台创建应用完成,然后开始创建补丁。
1.创建补丁版本
在这里插入图片描述
2.下载补丁生工工具。分别上传bug安装包和已修复版安装包,安装包需要正式签名工具打包生成。
在这里插入图片描述
3.填写签名文件keystore信息。
在这里插入图片描述
基础选项
旧包:<必填> 选择基线包路径(有问题的APK)。
新包:<必填> 选择新包路径(修复过该问题APK)。
日志:打开日志输出窗口。
高级:展开高级选项,见1.2.2。
设置:配置其他信息。
GO!:开始生成补丁。
高级选项
强制冷启动:勾选的话强制生成补丁包为需要冷启动才能修复的格式。默认不选的话,工具会根据代码变更情况自动选择即时热替换或者冷启动修复。
不比较资源:打补丁时不比较资源的变化。
不比较SO库:打补丁时不比较SO库的变化。

4.弹出打包前注意事项弹框
在这里插入图片描述
5.生成新旧包差异补丁文件成功。

在这里插入图片描述
6.上传补丁文件
在这里插入图片描述
在这里插入图片描述
7.发布补丁,自动修复bug。
在这里插入图片描述
灰度发布
发布类型分为灰度发布和全量发布,顾名思义,全量发布就是一次性发布给所有用户使用。
在这里插入图片描述
灰度策略
需要根据用户体量来决定发布人数,也可以根据产品需求来决定。一般可以投放10%的量来观察。
我们可以通过用户id、用户手机号、设备id的尾号来决定给哪些用户推送升级信息。

阿里Hotfix热修复原理

Andfix 采用的方法是,在已经加载了的类中直接在 native 层替换掉原有方法,是在原来类的基础上进行修改的。其核心在于 replaceMethod 函数,所以只支持方法替换,对于方法的增删,资源更新,so 文件更新及类和属性的替换等都是不支持的。

优点:
即时生效

缺点:
AndFix不支持新增方法,新增类,新增field等
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值