腾讯最近开发出一个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的实现原理是方法体的替换

3.修复过程

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

就是补丁文件。

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

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

  1. 十分钟教会你原生JS压缩图片,极其精简版

    十分钟教会你原生JS压缩图片,极其精简版 原文链接:https://blog.csdn.net/yasha97/article/details/83629510 (一)实现思路 先通过input标签获 ...

  2. 十分钟教会女朋友上手阿里云服务器

    十分钟教会女朋友上手阿里云服务器 云服务的概念越来越火,阿里云的品牌也经常出现在圈内圈外人的视野里.作为程序员的我们更是不得不接触的一个概念.最近很多人因为很多原因购买了阿里云服务器却不知道怎么使用, ...

  3. 电容指纹识别模块使用教程十分钟教会你使用指纹识别

    电容指纹识别模块使用教程十分钟教会你使用指纹识别 FPC1020A 引脚说明 使用前准备 接线说明 使用参考 总结 原文链接:https://www.yourcee.com/newsinfo/2923 ...

  4. 5分钟教会你在安卓手机上下载liuns系统的ubuntu版本

    5分钟教会你在安卓手机上下载liuns系统的ubuntu版本,其中用到termux,Termux是一个Android终端仿真器和Linux环境应用程序,直接工作,无需根目录或设置.一个最小的基本系统被 ...

  5. origin做相关性分析图_高分文章的相关性热图,十分钟教你学会无代码复现

    相关性热图可以便捷的显示多个变量之间的相关性,因此在组学数据分析中得到广泛应用,例如基因的共表达分析.样本重复检验.微生物群落的共发生网络分析等. 在昨天推文下就有人问热图怎么画?画热图最常规的办法自 ...

  6. python网络爬虫的基本步骤-十分钟教会你用Python写网络爬虫程序

    在互联网时代,爬虫绝对是一项非常有用的技能.借助它,你可以快速获取大量的数据并自动分析,或者帮你完成大量重复.费时的工作,分分钟成为掌控互联网的大师. 注意:欲获取本文所涉及的文案,代码及教学视频的链 ...

  7. Bamboolib -- 十分钟教会业务小姐姐做数据分析

    作者:杰少 Bamboolib:相见恨晚的Python工具包 简介 最近周围非常多的朋友,包括一些产品经理,部门销售的朋友还有很多负责业务的朋友,也都开始学习数据分析,但是因为没有编程基础,所以很难下 ...

  8. 十分钟教会你们怎么开传奇

    传奇架设其实很简单 很多网友非常爱玩这款游戏,可能还有朋友不知道怎么架设这款游戏 今天特意写篇传奇架设教程,希望大家都能打造出真正属于自己的传奇 首先传奇架设需要准备以下几个软件 准备工具: 1.传奇 ...

  9. 十分钟教会你们如何架设传奇

    传奇架设其实很简单 很多网友非常爱玩这款游戏,可能还有朋友不知道怎么架设这款游戏 今天特意写篇传奇架设教程,希望大家都能打造出真正属于自己的传奇 首先传奇架设需要准备以下几个软件 准备工具: 1.传奇 ...

最新文章

  1. jquery颜色转换html,jQuery颜色选取器插件COLPICK
  2. POJ 2932 圆扫描线
  3. html怎么查看两个块的距离,两个东西之间的距离怎么控制
  4. rails log_level
  5. redhat7下对用户账户的管理
  6. 如何给小朋友解释单摆运动_法国教育学者:如何培养儿童的逻辑思维和时间观念...
  7. [CM311-1A]-Android 分区管理以及系统启动流程和目录解析
  8. 【Java】菜鸟教程个人Java学习笔记
  9. 实施PLM系统的总结
  10. sketchup边线设置_草图大师SketchUp改变模型边线颜色的方法
  11. lvgl v8之Styling the scrollbars
  12. Diablo3狗熊榜
  13. 仿企查查php源码,企查查企业信息页面精简工具
  14. matlab正序零序负序,史上最完美的图形和公式带你搞懂正序负序零序!
  15. Android 上唯一好用的图片标注 App:马克标注
  16. HEU 2010 France '98
  17. OCR之Tesseract安装
  18. Linux 管理联网 nmcli常用命令
  19. 云呐:固定资产清查盘点方案,固定资产清查范围是怎样的?
  20. 查看Linux版本,内核等信息

热门文章

  1. 给我一个不坚强的理由
  2. js获取当前时间字符串 格式yyyy-MM-dd HH:MM:SS
  3. 浙江师范大学网络改造总结(博达交换机网络安全防御技术应用)
  4. Java | 使用 Hibernate Search 构建一个带有全文搜索的 Spring Boot REST API (二)
  5. MyBatis-Plus是什么?为什么用?怎么用?
  6. python 微信for Mac 自动发送当前热搜和天气
  7. 创建一个中国象棋的阿法狗——阿法象(0)
  8. vscode如何连接新设备_【头条】糊盒部门如何确定现有设备是否胜任新挑战,还是需要新技术替代?博斯特有方法!...
  9. [ArcGIS] 表格输出为shp时日期时间列只保留日期而时间被截掉
  10. vue两张图片合成一张(海报二维码合成工具)