美文网首页
Sophix热修复流程

Sophix热修复流程

作者: terry_89e7 | 来源:发表于2018-01-18 16:38 被阅读0次

    一、环境搭建

    1、gradle配置

    在dependencies中加入 在gradle的repositories 中加入

            在这两个地方加入依赖就可以,eclipse情趣官网查看,这里就不赘述了。

    2、代码配置

    初始化

    这里需要注意,此方法最好放到你写的Application的attachBaseContext方法的最前面,这是sophix的初始化。

    补丁拉取

    此方法放到Application的onCreate方法中,最好放到最后。此方法为上传了补丁后,程序拉取,下载补丁包。

    二、打补丁

    如上图,旧包和新包都必须是基础包。不能是加固之后的包,比如360加固等等。

    旧包:为线上已有的有bug的包,需要修复的包。

    新包:为已修复线上bug的包。注意,如果线上版本号上为1.2.2,那么新包和旧包的版本号都要为1.2.2。如果已经发布了一次补丁(即已修复过一次),比如叫补丁1,还要再次进行修复时,旧包应该是没有修复过的有bug的包,新包应该是包含了补丁1后,又做了修复后的包。

    强制冷启动:勾选的话强制生成补丁包为需要冷启动才能修复的格式。默认不选的话,工具会根据代码变更情况自动选择。

    不比较资源:打补丁时不比较资源的变化。

    不比较SO库:打补丁时不比较SO库的变化。

    设置里为高级设置,必须设置

    此图不在赘述,就是签名以及签名密码等,做android的应该都懂。

    然后点击GO,会生成一个sophix-patch.jar的文件,注意此文件名称不能修改。

    三、阿里控制台

    上次补丁之后,可以有灰度发布和全量发布,灰度发布可以设置发布到手机的数量,检测之后再全量发布。

    发布后可以查看已经加载的设备数。上方二维码是本地测试,过程可以查看阿里官网。扫二维码可以直接加载补丁到设备,不用发布到用户,自己先测试。没有问题后在发布。

    四、注意事项

    1、旧包,新包,补丁的版本号等这些所有的版本号要一致,不然推送不到设备。

    2、打补丁过程中,用到的旧包新包都要为没有360等加固过的包,不加固不等于不能签名,我们发布的程序肯定都需要签名。

    3、经过本人测试,增加资源、删减或者增加方法、修改so包,都需要杀掉进程重启后才能生效。

    4、发布补丁,最好先用测试工具,扫描二维码测试,然后发布灰度测试,然后全量发布。

    5、上面初始化initSophix()方法中有几个回调状态,可处理可不处理,在需要重启生效的状态来时,最好根据情况杀掉进程。

    五、链接:

    阿里云官网    如果有问题的朋友们可以留言交流。

    相关文章

      网友评论

          本文标题:Sophix热修复流程

          本文链接:https://www.haomeiwen.com/subject/zcswoxtx.html