关于阿里的开源热修复框架AndFix引起了广泛共鸣,受到了很多人的青睐。那今天就跟随我的步伐来详细了解一下AndFix的详细信息和使用方法。

1.什么是AndFix? AndFix是阿里巴巴出的一个专门针对Android的热修复框架 ,那什么是热修复呢?就是不需要重新安装APK而达到修复bugs的目的。 看看阿里巴巴官方对AndFix的描述: 英文好的可以看官网说明文档(有翻译不妥欢迎指出) 1.AndFix是一个Android库,它是在线解决bugs,而不是重新安装app的一种解决方案。 2.AndFix是Android hot-fix 的缩写 3.AndFix 支持Android的2.3-7.0的版本,支持ARM和X86的处理器,支持Dalvik与ART的运行时,支持32位和64位。 4.AndFix的补丁文件的格式是.apatch ,它是由您自己的服务器分发到客户端解决您的应用程序的错误。 2.AndFix的原理 AndFix的实现原理是方法体的替换 image01

3.修复过程

image02

4.获取AndFix库 直接将AndFix AAR添加到您的项目作为编译库。 对于Maven的依赖: <dependency> <groupId>com.alipay.euler</groupId> <artifactId>andfix</artifactId> <version>0.5.0</version> <type>aar</type> </dependency> 对gradle的依赖: dependencies { compile 'com.alipay.euler:andfix:0.3.1@aar' } 5.如何使用AndFix 1.初始化PatchManager patchManager = new PatchManager(context); patchManager.init(appversion);//current version 2.加载补丁 patchManager.loadPatch(); 你应该尽可能早地加载补丁,通常在你的应用程序初始化阶段加载补丁,例如:在Application.onCreate() 中加载补丁 3.添加补丁 patchManager.addPatch(path);//path of the patch file that was downloaded 当一个新的补丁文件已经下载,,通过调用了addPatch()方法就会立即生效。 6.补丁制作工具 1.下载补丁制作工具 AndFix 给我们提供了一个制作补丁的工具apkpatch

2.使用补丁工具 1.准备两个android apk文件 , 一个是在线的apk文件,另一个是修复bug后的apk文件(两个apk的版本号一样) 2.通过这两个apk文件生成一个补丁文件.apatch //在补丁的工具文件夹中,打开控制台,并在控制台输入: apkpatch -f <new> -t <old> -o <output> -k <keystore> -p <> -a <alias> -e <> //参数说明: -a,--alias <alias> keystore entry alias. -e,--epassword <***> keystore entry password. -f,--from <loc> new Apk file path. -k,--keystore <loc> keystore path. -n,--name <name> patch name. -o,--out <dir> output dir. -p,--kpassword <***> keystore password. -t,--to <loc> old Apk file path. 3.在控制台中执行上面命令后,在指定的<output>文件夹中后会生成,如下文件: smali app-release1-44c095be1acbdd01beed3afd478182f0.apatch diff.dex 其中app-release1-44c095be1acbdd01beed3afd478182f0.apatch 就是补丁文件。

关于AndFix的一些基础教程就是这样,后面还有关于它的更详细信息或更多其它框架的内容,大家可以自己探索,当然也可以关注我们,让我帮助你更进一步。