关于阿里的热修复---android andfix
andfix 说起来网上的例子真的很多很多:
AndFix 是阿里巴巴开源的 Android 应用热修复工具,帮助 Anroid 开发者修复应用的线上问题。Andfix 是 "Android hot-fix" 的缩写。
AndFix 支持 Android 2.3 - 6.0,ARM 和 x86 架构,dalvik 运行时和 art 运行时。AndFix 的分支是 .apatch 文件。
AndFix 方法体取代实现规则:
Bug 修复过程:
适用环境说明
Andfix并不能修复所有情况下出现的bug,测试结果如下:
还有部分小米华为手机存在无法修复的问题做法
1.使用gradle添加依赖
compile'com.alipay.euler:andfix:0.3.1@aar'
2.在application中初始化
patchManager =newPatchManager(getApplicationContext());
patchManager.init(version);//current versionpatchManager.loadPatch();
3加载
patchManager.addPatch(path);//pathofthe patchfilethat was downloaded
实际上就这么简单的几句话就可以实现加载,主要的操作还是生成补丁文件,然后提交给后台经过对比版本然后文件下载,最后加载:
1.生成补丁
使用工具apkpatch-1.0.3
下载地址:https://github.com/alibaba/AndFix/raw/master/tools/apkpatch-1.0.3.zip
使用命令apkpatch生成补丁。
图示参数缺一不可,否则无法生成补丁!!!
例如:
旧的apk为1.apk,新的apk为2.apk, -o表示补丁的输出目录,-k表示keystore, -p表示keystore的密码,-a表示alias, -e表示entry password。
可以看到在当前目录下生成了相应的补丁文件:
补丁命名规则如下:
a_b.apatch
a表示versionCode,b表示当前的补丁的版本。
例如:如果当前的versionCode的版本为4,补丁的版本为3,则命名为4_3.apatch。
2 判断下载条件并下载
判断下载的条件 xutils文件下载(当然可以通过其他的方式下载) 下载后添加apatch文件