AndFix热修复集成

先导入依赖:

可以去github看:

 implementation 'com.alipay.euler:andfix:0.5.0@aar'

新建Application初始化

public class AndFixApplication extends Application {
    public static PatchManager mPatchManager;
    @Override
    public void onCreate() {
        super.onCreate();
        mPatchManager = new PatchManager(this);
// String appVersion = getPackageManager().getPackageInfo(getPackageName(),0).versionName;
// mPatchManager.init(appVersion);
        mPatchManager.init("1.0");
        // 加载已经添加到PatchManager中的patch
        mPatchManager.loadPatch();
    }
}

按钮修复:

private static final String APATCH_PATH = "/fix.apatch"; // 补丁文件名

 @Override
    public void onClick(View v) {
        switch (v.getId()) {
            default:
                break;
            case R.id.btn_xiufu:
                update();
                break;
        }
    }
    private void update() {
        String patchFileStr = Environment.getExternalStorageDirectory().getAbsolutePath() + APATCH_PATH;
        Log.i("sdkPath", "path = : " + patchFileStr);
        try {
            AndFixApplication.mPatchManager.addPatch(patchFileStr);


        } catch (IOException e) {
            e.printStackTrace();
        }
    }

可以写一些修改前的记号

修改前打包 可以改名为old.apk

修改后打包 可以改名为new.apk

然后使用官方提供的工具:https://github.com/alibaba/AndFix/blob/master/tools/apkpatch-1.0.3.zip

讲两个apk放入该目录中。如图:

然后使用cmd进入该目录,使用命令生成补丁:

<u>apkpatch.bat -f 新apk -t 旧apk -o 输出目录 -k app签名文件 -p 签名文件密码 -a 签名文件别名 -e 别名密码</u>

将生成的patch改名与代码中的一致//private static final String APATCH_PATH = "/fix.apatch"; // 补丁文件名

将补丁push到sd卡目录下,点击修复加载补丁文件。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值