美文网首页
Bugly 热修复学习笔记

Bugly 热修复学习笔记

作者: 比尔王BillWang | 来源:发表于2017-02-20 09:45 被阅读0次

    初衷

    被线上BUG折磨的死去活来,自己做事有不细心,紧急修复的问题不是漏了这个就是多了那个。看到微信开源了TInker(源自DOTA2 地精修补匠),并且项目也在使用Bugly,所以就试着用一下,挺顺利且达到了想要的效果。写文档记录学习经历,以及整理使用方法。

    对比

    暂时只了解了阿里百川的HotFix和微信的Tinker。

    HotFix更适用于线上的紧急BUG,因为它不需要重启应用就能够生效,缺点是不能新加类或资源。

    Tinker则功能更为强大,功能强大的背后就意味着性能上的占用。Tinker基本可以完成小功能的发布,但是对手机配置就要求高一些,测试的手机只有50M左右就无法修复了,APK本身12M。

    现在发现应用宝上必须使用加固工具,然而一旦使用了加固工具,tinker就无法工作了。

    Tinker

    与Bugly搭配后不再需要APP开发者自己实现后台,并且还可以选择下发规则,比如开发设备、系统版本,还支持补丁回滚。

    正文

    没怎么写过文章,所以废话还挺多,请见谅。

    基准包:正常版本的APK包。

    补丁包:修复基准包的BUG。

    打基准包的步骤:

    1 修改tinker-support.gradle文件中的tinkerId字段

    2 在android studio中找到Gradle窗口,一般在右侧

    3 等编译完成后,在app\build\bakApk\中找到对应时间的APK包,这个就是基准包了

    打补丁包的步骤:

    1 修改BUG

    2 修改

    3 修改旧APK文件夹名称

    4 修改这几处文件与左侧一致,tinkerId 修改后缀为patch与基准包区别开

    5  在gradle中选取红色的双击编译

    6 登录bugly 选择发布新版补丁

    7 选择红框中的补丁文件

    8 如果基准包未进行联网上报,就会出现右侧的红色提示。

    上传完后根据情况选择开发设备、全景设备、自定义

    9 回滚补丁后会回滚之前已发布的补丁,并把安装过的程序还原到旧的状态。

    疑问验证

    1 是否支持打了补丁后继续打补丁?

    支持、新的补丁也要用基准包的tinkerid。

    2 看到阿里百川好像说可以兼容加固(使用加固前的基准包打补丁)tinker是否可以?

    不行,

    3 是否可以修改版本号?

    不能

    待考证的问题

    是否必须保存原来的APK包才能对其进行补丁,(应该不用,但是还是要确认下)。

    是否支持无线补丁循环?(以及无线循环的补丁,回滚问题)。

    参考文档

    Bugly官方文档

    相关文章

      网友评论

          本文标题:Bugly 热修复学习笔记

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