走进热修复框架AndFix的世界
关于阿里的开源热修复框架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的实现原理是方法体的替换

3.修复过程

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的一些基础教程就是这样,后面还有关于它的更详细信息或更多其它框架的内容,大家可以自己探索,当然也可以关注我们,让我帮助你更进一步。
走进热修复框架AndFix的世界的更多相关文章
- 十分钟教会你使用安卓热修复框架AndFix
腾讯最近开发出一个Tinker,阿里也有一个Dexposed框架,当然还有一个就是今天的主角热修复框架AndFix.接下来,我会从它的概念.原理.使用方法等为你详细介绍. 1.什么是AndFix? A ...
- 探索安卓热修复框架AndFix的奥秘
虽然阿里的AndFix框架已经出来很长时间了,但是还不了解它的同学依然挺多,接下来就跟着我一起来到AndFix的世界里一起看看,如何达到不用重新安装app就可以修复bug. 1.什么是AndFix? ...
- [Android]热修复框架AndFix测试说明
AndFix,全称是Android hot-fix.是阿里开源的一个热补丁框架,允许APP在不重新发布版本的情况下修复线上的bug.支持Android 2.3 到 6.0,并且支持arm 与 X86系 ...
- 阿里 AndFix 热修复框架简介
阿里AndFix热修复框架简介 热修复原理: Android的类加载机制 Android的类加载器分为两种,PathClassLoader和DexClassLoader,两者都继承自BaseDexCl ...
- 热修复干货| AndFix热补丁动态修复框架使用教程
本篇文章会与大家一起学习使用阿里的AndFix热修复框架,可以说AndFix是国内热修复技术的开山始祖,尽管现在阿里已经放弃了对这个项目的维护,但是后来很多的热修复技术都借鉴了这一框架的实现思路. 1 ...
- 阿里SopHix热修复框架
2015年以来,Android开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案,如QQ空间补丁方案.阿里AndFix以及微信Tinker(Bugly sdk也集成Tikner ...
- Android热修复原理(一)热修复框架对比和代码修复
在Android应用开发中,热修复技术被越来越多的开发者所使用,也出现了很多热修复框架,比如:AndFix.Tinker.Dexposed和Nuwa等等.如果只是会这些热修复框架的使用那意义并不大,我 ...
- Android热修复之AndFix使用教程
AndFix的github地址 AndFix 全称Android hot-fix,是alibaba的Android热修复框架,支持Android 2.3到6.0的版本,支持arm与X86系统架构,支持 ...
- 热修复框架Tinker的从0到集成之路(转)
转自:http://blog.csdn.net/lisdye2/article/details/54411727 热修复框架Tinker的从0到集成之路 转载请标明出处: http://blog.cs ...
随机推荐
- 2017.10.7 国庆清北 D7T2 第k大区间
题目描述 定义一个长度为奇数的区间的值为其所包含的的元素的中位数. 现给出n个数,求将所有长度为奇数的区间的值排序后,第K大的值为多少. 输入输出格式 输入格式: 输入文件名为kth.in. 第一行两 ...
- Deepin-TIM或Deepin-QQ调整界面DPI字体大小的方法
Deepin-TIM或Deepin-QQ调整界面DPI字体大小的方法 env WINEPREFIX="/home/landv/.deepinwine/Deepin-QQ" deep ...
- Kafka与ActiveMQ区别
Kafka 是LinkedIn 开发的一个高性能.分布式的消息系统,广泛用于日志收集.流式数据处理.在线和离线消息分发等场景.虽然不是作为传统的MQ来设计,在大部分情况,Kafaka 也可以代替原先A ...
- Bootstrap selectpicker 下拉框多选获取选中value和多选获取文本值
1.页面代码: 页面引入: bootstrap-select.min.css和 bootstrap-select.min.js. defaults-zh_CN.min.js文件,并初始化下拉选项框. ...
- VirtualAlloc加载shellcode免杀一点记录
一个很好的学习网站 推荐一下: https://docs.microsoft.com/zh-cn/windows/win32/api/ 0x01 VirtualAlloc VirtualAlloc: ...
- 大数据技术之kettle(2)——练习三个基本操作
一.同一数据库两表数据关联更新 实现效果:把stu1的数据按id同步到stu2,stu2有相同id则更新数据 步骤: 1.在mysql中创建两张表: mysql>create database ...
- JVM Java字节码方法表与属性
方法表 1.methods_count method_info,前三个字段和field_info一样 2.方法的属性结构 方法中的每个属性都是一个attribut_info结构 JVM定义了部分at ...
- springlcoud中使用consul作为注册中心
好久没写博客了,从今天开始重新杨帆起航............................................ springlcoud中使用consul作为注册中心. 我们先对比下注册 ...
- 到底啥是鸭子类型(duck typing)带简单例子
#百度百科鸭子类型定义 这是程序设计中的一种类型推断风格,这种风格适用于动态语言(比如PHP.Python.Ruby.Typescript.Perl.Objective-C.Lua.Julia.Jav ...
- Android中jsoup的混淆规则【转】
Android中jsoup的混淆规则版权声明:转载必须注明本文转自严振杰的博客:http://blog.yanzhenjie.com 说实话这篇文章的标题和内容我觉得很水,所以读者们要是也觉得这篇文章 ...