阿里百川热修复AndFix1.4.0使用总结

阿里百川热修复官方使用文档帮助:点击查看
阿里百川热修复,目前1.4.0版本,不支持修改布局文件,支持修改方法体内容,支持新增类,代码如下:

1、在阿里百川创建APP后,将Demo中app相应的APPKEY、APPSECRET、RSASECRET和APPID替换成自己的

1.manifest.xml文件中
    //在https://hotfix.taobao.com/hotfix/login.htm阿里百川热修复应用列表查看
   <meta-data
            android:name="com.taobao.android.hotfix.APPKEY"
            android:value="***" />
        <meta-data
            android:name="com.taobao.android.hotfix.APPSECRET"
            android:value="***" />
        <meta-data
            android:name="com.taobao.android.hotfix.RSASECRET"
                 android:value="***" />

2.MainApplication中
  private void initApp() {
        this.appId = "***"; //TODO 替换掉自己应用的appId 还需要替换manifests中的APPKEY、APPSECRET和RSASECRET
        try {
            this.appVersion = this.getPackageManager().getPackageInfo(this.getPackageName(), 0).versionName;
        } catch (Exception e) {
            this.appVersion = "1.0";
        }
    }

2、生成和使用mapping文件(如果apk不使用混淆,请忽略这一步)

这里写图片描述

1、打开proguard-rules.pro文件,先更改成如下注释;
-printmapping mapping.txt
#-applymapping mapping.txt
2、使用-printmapping命令生成release包,然后就会在hotfix_demo/build/outputs/mapping/release路径下生成mapping文件,然后移动到/hotfix_demo路径下,然后更改注释,使用-applymapping 使用mapping文件;
#-printmapping mapping.txt
-applymapping mapping.txt

3、更改如下代码,release生成old.apk,安装到手机上,点击测试,通过吐司来判断是新方法还是旧方法;

这里写图片描述

public class BugClass{
    /**
     * patch测试, 假如BaseBug.test()方法有bug, 修复后的具体范例请参考BaseBug.md文件
     */
    public static void test(Context context) {
        Toast.makeText(context.getApplicationContext(), "老的方法", Toast.LENGTH_SHORT).show(); 
    }
}

4、 更改吐司内容,release生成new.apk

public class BugClass{
    /**
     * patch测试, 假如BugClass.test()方法有bug, 修复后的具体范例请参考BaseBug.md文件
     */
    public static void test(Context context) {
        Toast.makeText(context.getApplicationContext(), "新的方法", Toast.LENGTH_SHORT).show();
    }
}

5、 使用命令生成差异包

在G盘创建“百川热修复打包工具包”文件夹,将打包工具、签名文件、old.apk和new.apk放到里面;
//cmd命令
    G:
    cd G:\百川热修复打包工具包
//查看命令详情可以使用:java -jar BCFixPatchTools-1.3.0.jar
java -jar BCFixPatchTools-1.3.0.jar -c patch -s old.apk -f new.apk -w patch-out -k demo.jks -p test123 -a test123 -e test123
cmd命令

命令1

之前的文件夹

图片2

生成差异文件后的文件夹,然后进入patch-out文件夹内部,会看到baichuan-hotfix-patch.jar,这个就是差异文件

图片3

差异文件

差异文件
6、 发布
1. 点击查看应用列表:阿里百川HotFix应用列表
2. 登录后点击右侧“管理”;
3. 点击“新增版本”;
4. 输入当前应用的版本名称“ versionName ”;
5. 然后点击“查看详情”;
6. 上传补丁包,然后点击“查看详情”,点击“确认发布”;
7. 完成。

注意: 1. 上传补丁包,未找到***.jar文件,请点击选择"所有文件";
      2. 如果apk使用加固,必须使用加固前的apk生成补丁包, 加固后的apk能正常加载补丁;

所有文件

附:demo文件下载地址:点击下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值