andfix实践--bug修复不再需要频繁更新版本了
2016-06-28 15:00
621 查看
一.什么是AndFix
AndFix,全称是Android hot-fix。是阿里开源的一个Android热补丁框架,允许APP在不重新发布版本的情况下修复线上的bug。支持Android 2.3 到 6.0。Github:https://github.com/alibaba/AndFix
二.使用方式
1.首先添加依赖
dependencies { compile 'com.alipay.euler:andfix:0.4.0@aar' }
2.初始化数据(最好写在application的oncreate中)
// initialize mPatchManager = new PatchManager(this); // 注意每次appversion变更都会导致所有补丁被删除,如果appversion没有改变,则会加载已经保存的所有补丁。 String appversion = getPackageManager().getPackageInfo(getPackageName(), 0).versionName; mPatchManager.init(appversion); mPatchManager.loadPatch();
3.加载数据(addpath)
//addPatch //在需要的地方调用PatchManager的addPatch方法加载新补丁,比如可以在下载补丁文件之后调用 String patchFileString = Environment.getExternalStorageDirectory() .getAbsolutePath() + APATCH_PATH; mPatchManager.addPatch(patchFileString);
4.,复制且加载补丁成功后,删除下载的补丁
File f = new File(this.getFilesDir(), DIR + APATCH_PATH); if (f.exists()) { boolean result = new File(patchFileString).delete(); if (!result) Log.e(TAG, patchFileString + " delete fail"); }
5.生成打包补丁
之后就是打补丁的过程了,首先生成一个apk文件,然后更改代码,在修复bug后生成另一个apk。通过官方提供的工具apkpatch
生成一个.apatch格式的补丁文件,需要提供原apk,修复后的apk,以及一个签名文件。
具体操作如下:
A:将下载好的zip文件解压出来.(我解压到了G:\andfix)
B:打开命令行工具,通过命令进入上面的解压位置。
C:此时直接输入apkpatch就可以直接使用命令apkpatch查看具体的使用方法。
D:使用示例:
apkpatch -o D:/Patch/ -k debug.keystore -p android-a androiddebugkey -e android -f bug-fix.apk -t release.apk解释:apkpatch -o 生成路径 -k kestore密钥文件 -p 密码 -a 用户名 -e 确认密码 -f 新apk -t 旧apk
点击这里下载打包工具
三.局限性
1.无法添加类和字段2.不能修改xml布局文件
四.demo下载
https://github.com/jin870132/AndFixDemo
相关文章推荐
- leetcode 122
- MyEclipse使用总结——MyEclipse10安装SVN插件
- linux重装系统 一些问题
- Mycat安装部署
- 扫描二维码自动识别手机系统(Android/IOS)
- std::map用法
- Java之美[从菜鸟到高手演变]系列之博文阅读导航
- C#中的async与await
- IOS学习笔记 (二)类和对象
- easyui dataGrid 动态添加列
- 文件操作以及实现文件的复制操作并且在目的目录创建相应文件夹
- android APK应用安装过程以及默认安装路径
- android的BuildConfig学习
- C#常用数据结构和算法总结
- 在撸java代码中遇到的问题
- [改善Java代码]不推荐覆写start方法
- Lightoj 1023 - Discovering Permutations
- Linux中vi的使用
- TCC事务
- 兼容各种主流浏览器的CSS阴影效果