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

output dir.

-p,--kpassword <***> keystore password.

-t,--to old Apk file path.

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

app-release1-44c095be1acbdd01beed3afd478182f0.apatch

diff.dex

其中app-release1-44c095be1acbdd01beed3afd478182f0.apatch
就是补丁文件。

来源:http://bbs.520it.com/forum.php?mod=viewthread&tid=3014

更多相关文章

  1. android的XML连续动画
  2. 【Android】 NDK开发基础
  3. android EditTextDialog与软键盘适配(QVGA)
  4. Android系统启动流程分析
  5. 关于如何检测Android的内存泄漏:
  6. Android使用代码进行界面布局和改变图标、标题、名称、主界面
  7. Android(安卓)ADB 找不到设备的解决方法
  8. Android(安卓)NDK编译Box2D_V2.2
  9. Android学习-SharedPreferences接口的学习

随机推荐

  1. Windows phone开发初体验之(四)-处理Wind
  2. Android的国际化语言适配(系统语言适配+A
  3. android 线程消息处理【之消息处理中再处
  4. Android(安卓)调试桥|adb命令卸载系统软
  5. 【android studio】安卓中修改每个每个活
  6. android中单位的简单介绍
  7. 在android中,编译的项目使用到第三方jar的
  8. 【Android】_干货_制作透明背景icon
  9. android 模拟器调用系统照相机
  10. 三小时完成玩Android/看妹子客户端(Retrof