android 热修复 框架,十分钟教会你使用安卓热修复框架AndFix

AndFix是阿里巴巴推出的一款针对Android的热修复框架,允许开发者在不重新安装应用的情况下修复bug。其原理是通过方法体替换实现。使用AndFix包括初始化PatchManager、加载补丁和添加补丁等步骤。补丁制作工具apkpatch可以生成补丁文件,通过对比两个apk生成.apatch文件。掌握并运用这类热修复框架能有效提高应用的稳定性和用户体验。
摘要由CSDN通过智能技术生成

腾讯最近开发出一个Tinker,阿里也有一个Dexposed框架,当然还有一个就是今天的主角热修复框架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的实现原理是方法体的替换

61b927bc128186c47a5fe62256620e91.png

3.修复过程

2a007e823d5eb643e4c7c8acfdf56a71.png

4.获取AndFix库

直接将AndFix AAR添加到您的项目作为编译库。

对于Maven的依赖:

com.alipay.euler

andfix

0.5.0

aar

对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 -t -o -k -p <> -a -e <>

//参数说明:

-a,--alias keystore entry alias.

-e,--epassword <> keystore entry password.

-f,--from new Apk file path.

-k,--keystore keystore path.

-n,--name patch name.

-o,--out

-p,--kpassword <> keystore password.

-t,--to old Apk file path.

3.在控制台中执行上面命令后,在指定的文件夹中后会生成,如下文件:

smali

app-release1-44c095be1acbdd01beed3afd478182f0.apatch

diff.dex

其中app-release1-44c095be1acbdd01beed3afd478182f0.apatch

就是补丁文件。

这些各种框架总得来说还是非常有用的,关键是你能否熟练掌握它们。光看看教程是远远不够的,想要提升自己的实战能力,还需要大家自己多多操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值