Sophix热修复流程

2018-01-18  本文已影响0人  terry_89e7

一、环境搭建

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()方法中有几个回调状态,可处理可不处理,在需要重启生效的状态来时,最好根据情况杀掉进程。

五、链接:

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

上一篇下一篇

猜你喜欢

热点阅读