《android基于andFix的热修复方案》实战篇
有篇文章说的比较简洁,大家可以参考下:AndFix使用说明
下面说说实际使用中遇到的问题
1:如何继承到gradle项目中
dependencies { compile 'com.alipay.euler:andfix:0.4.0@aar' }
截止目前2016-5-3 这种引用方式,是不会再armeabi-v7下面引入so库的,我们要手动添加进去
地址:https://github.com/alibaba/AndFix/blob/master/libs/armeabi-v7a/libandfix.so
2:代码混淆
在app的proguard-rules.pro里面加入以下语句
#andfix -keep class com.alipay.euler.andfix.** {*;} -keep class * extends java.lang.annotation.Annotation -keepclasseswithmembernames class * { native <methods>; }
3:什么地方调用热修复方法
越早越好,我是在Application的onCreate函数里面。
4:同一个函数修复了两次
在下载成功后,打补丁之前,把老的补丁清理掉
mPatchManager.removeAllPatch();
5: 打包工具
andfix提供的bat命令行方式,每次要输一堆参数,繁琐又费时,因此咱用vs写了一个winform程序,简化大量操作
源码:http://git.oschina.net/yso/AndFixTools
运行程序:http://git.oschina.net/yso/AndFixTools/releases
特性:
1:每次都会记忆上次配置
2:自动计算md5,用于客户端对比补丁包完整性