轻量级前端框架助力开发者提升项目效率与性能
691
2022-10-31
Android 热修复框架 (基于类加载机制的代码修复)
Fettler
Android 热修复框架 (基于类加载机制的代码修复)
支持 Android 5.0 以上设备运行时修复,应用无需重启版本更新时要注意dex修复包的清理
1.如何接入
Project层级下的build.gradle文件
allprojects { repositories { ... maven { url 'https://jitpack.io' } }}
Module层级下的build.gradle文件
dependencies { ... implementation 'com.github.dasinwong:Fettler:1.0'}
2.类及其方法介绍
Fettler
热修复核心类
方法 | 描述 |
---|---|
init | 初始化,程序启动时调用 |
with | 创建Fettler对象的静态方法 |
add | 添加dex补丁文件(可连续添加多个) |
listen | 添加修复监听(选用) |
start | 开始修复 |
clear | 清理dex补丁文件(版本更新时) |
FixListener
修复监听接口
方法 | 描述 |
---|---|
onComplete | 修复完成时回调 |
3.使用方法
3.1 程序启动时进行初始化
public class BaseApplication extends Application { @Override protected void attachBaseContext(Context context) { super.attachBaseContext(context); //初始化Fettler Fettler.init(context); }}
3.2 执行修复
//获取补丁包文件(实际环境中通过网络-到本地)File dexFile = new File(Environment.getExternalStorageDirectory(), "XXX.dex");//添加dex文件和监听,开始修复Fettler.with(this).add(dexFile).listen(new FixListener() { @Override public void onComplete() { Toast.makeText(XXX.this, "修复完成", Toast.LENGTH_SHORT).show(); }}).start();
3.3 清理修复包
在版本更新时清理
//直接调用静态方法清理Fettler.clear(this);//创建Fettler对象清理Fettler.with(this).clear();
4.需要权限
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~