android:AndFix热修复实现
来源:互联网 发布:关键词价格查询源码 编辑:程序博客网 时间:2024/05/18 02:06
简介
1、AndFix是一个Android App的在线热补丁框架。使用此框架,我们能够在不重复发版的情况下,在线修改App中的Bug。AndFix就是 “Android Hot-Fix”的缩写。
2、就目前来说,AndFix支持Android 2.3到6.0版本,并且支持arm 与 X86系统架构的设备。完美支持Dalvik与ART的Runtime。
3、AndFix 的补丁文件是以 .apatch 结尾的文件。
Demo
需要下载服务端的补丁,可参考该demo
可参考这篇文章实现本地sd卡中模拟热更新,以下可通过该demo实现
推荐篇文章,我觉得写得很详细,链接
实现
1、配置gradle,使用AndFix
compile 'com.alipay.euler:andfix:0.3.1@aar'`
2、在proguard-rules.pro中设置混淆文件
-keep class * extends java.lang.annotation.Annotation-keepclasseswithmembernames class * { native <methods>;}
3、添加so包(之前没加报错了。。。这步待定,其他人没说要加。。。)
4、添加权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" />
5、代码编写,打包
编写的代码:这个随便啦,可以在MainActivity里弄两个显示不一样的Toast,就ok了,如
private void toast(){ Toast.makeText(this, "this is new apk", Toast.LENGTH_SHORT).show();}
这里涉及到两个概念:
- 宿主apk——已经发布在应用市场上,有bug并且需要修复的apk;
- 补丁apk——在本地开发的,修复了bug的apk;
我们使用apkpatch,原理是用Java的自定义注解来判断一个方法是否应该被替换,如果有更改,会生成补丁。
6、生成补丁
通过cmd进入控制台,进入apkpatch目录
用apkpatch的命令生成补丁,方法如下
usage: apkpatch -f <new> -t <old> -o <output> -k <keystore> -p <***> -a <alias> -e <***> -a,--alias <alias> keystore entry alias. 给出keyStrore的alias -e,--epassword <***> keystore entry password. 输出KeyStore的密码 -f,--from <loc> new Apk file path. 补丁apk -k,--keystore <loc> keystore path. 给出keyStore的路径 -n,--name <name> patch name. 补丁名,可以不指定 -o,--out <dir> output dir. 生成的补丁放入的路径 -p,--kpassword <***> keystore password. -t,--to <loc> old Apk file path.给出宿主apk
然后到生成补丁的目录中,找到生成的patch文件,重命名patch文件
7、模拟实现热修复
先在手机上安装宿主apk,打开,此时实现的还是旧的方法。
关闭手机上的该应用进程
然后再sd卡的指定目录中放入生成的patch。
打开app,实现热更新
- android:AndFix热修复实现
- AndFix热修复实现
- Android 热修复-AndFix
- Android热修复---AndFix
- Android 热修复 AndFix
- Android 热修复AndFix
- Android实现热修复之Andfix
- 使用AndFix实现Android热修复
- Android基于AndFix的热修复实现
- Android热修复--使用阿里AndFix实现
- 使用AndFix实现热修复
- Android 热修复之AndFix
- Android AndFix 热修复框架
- Android热修复之AndFix
- Android AndFix 热修复 使用
- Android AndFix 热修复框架
- Android热修复框架andfix
- Android 热修复 andfix demo
- Java基础之理解Annotation
- 创建文件时,提示找不见指定的路径,那是因为没有创建目录导致的
- 并列句
- 动态ABAP内表
- 学习笔记--Linux系统定时任务
- android:AndFix热修复实现
- RMAN常用备份操作
- 关于“无状态的HTTP连接提供有状态的连接
- iwconfig: command not found 解决方案
- Android程序签名打包
- 更好的 SQL 模式的 10 条规则
- mongodb安装
- EL表达式
- 页面跳转传值,两个页面跳转cookie传值。