听说”双11”是这么解决线上bug的
--Android线上热修复的使用与原理
预备知识和开发环境
Android NDK编程
AndFix浅析
Android线上热修复的原理大同小异,这里只针对目前最火的框架AndFix进行讲解。主要从AndFix的使用、原理以及优缺点三个方面进行阐述。
使用方式
介绍
AndFix是一个AndroidApp的在线热补丁框架。使用此框架,我们能够在不重复发版的情况下,在线修改App中的Bug。AndFix就是 “AndroidHot-Fix”的缩写。
就目前来说,AndFix支持Android2.3到6.0版本,并且支持arm与X86系统架构的设备。完美支持Dalvik与ART的Runtime。目前已经应用到支付宝上。是比较成熟的hot-fix框架。
AndFix 的补丁文件是以.apatch 结尾的文件。(来源:网络)
接入流程图:
接入步骤
1) Maven或Gradle下载aar或直接引入源码
Maven:
<dependency>
<groupId>com.alipay.euler</groupId>
<artifactId>andfix</artifactId>
<version>0.3.1</version>
<type>aar</type>
</dependency>
Gradle:
dependencies {
compile 'com.alipay.euler:andfix:0.3.1@aar'
}
2) 初始化PatchManager
patchManager = new PatchManager(context);
patchManager.init(appversion);//current version
3) 加载补丁包
patchManager.loadPatch();
4)存在新补丁包
patchManager.addPatch(path);//path of the patch file that was downloaded
5)删除所有补丁包
patchManager.removeAllPatch();
制作apatch文件
1) 工具 :apkpatch(Github下载)
2) 使用方式
打补丁命令: