android热修复/热更新-介绍

创建于[十一月 27, 2018]
1.热修复介绍

项目在上线之后,都难免会有各种问题,毕竟就算再完善的开发测试流程也无法保证不会将 Bug 带到线上,特别是新 app 刚上线,一个 bug 不只是影响到几个几十个用户,一些创业性 app 的崩溃或者 bug 可能直接导致用户卸载和永不使用,而依靠发版去修复问题,成本太高了。

我们来看下常规发布流程:

image.png

存在的问题:

1.重新发版,需要重新上架审核,耗时费力

2.需要重新下载安装,用户体验差

3.Bug修复不及时,可能流失用户

然后看下热更新流程:

image.png

可见,热更新能够以更低的成本,更灵活的方式应对Bug修复。

·目前****市面****上主流的热修复框架

image.png

综合比较,目前推荐Tinker、Robust。下章具体介绍腾讯bugly(基于Tinker)和美团Robust的使用。

Tinker官方介绍:<u>http://www.tinkerpatch.com/Docs/intro</u>

Tinker Wiki:<u>https://github.com/Tencent/tinker/wiki</u>

2.使用与案例

·Bugly

集成文档地址:https://bugly.qq.com/docs/user-guide/instruction-manual-android-hotfix/?v=20170815114059

** · 关键点:**

** 1.集成完毕后需要修改bug发布补丁时。**

1)填写基准包文件夹名(图片中乱码为文字编码问题,各位看官不用在意)

image.png

2)修改thinkerId,默认基准包为base-1.0.1,补丁包名建议修改path-1.0.1

image.png

2.用户安装时用的是基准包里的apk

image.png

3.生成补丁包方式以及文件目录

image.png

4.上传补丁包,开始下发。应用重启。ending.

需要注意的地方:

1.生成补丁包后,修改了其他内容,原先补丁配置不修改的情况下继续发布补丁包,新的补丁包会生效。本地安装包重新安装时也会生效。需要等待一段时间。

同时下发两个补丁包,以最新下发补丁包为准。

2.关于tinkerId命名

image.png

经试验这种命名补丁不会生效。

3.进程需杀死重新启动补丁才会生效。

4.目前bugly服务器不收费,支持市面主流加固(360,应用宝,爱加固等)。

实战篇之bugly

一番对比之后我们选择了腾讯的bugly(前tinker)作为热修复框架,因为他有自己的补丁管理后台,不需要我们操心服务端。

此处记录下踩过的坑、以及待填的坑。

坑1.发版时基准包要自行保存。

不要想着到时候回退代码至上一版本重新打基准包,任何一处代码乃至缓存,与上一版本不一致都不可能打出完全相同的基准包,那么也就没有办法依据基准包生成有效的补丁包。

坑2.传统的打包方式抹去了渠道信息,需要借鉴新的打包方式。

此处推荐美团的walle多渠道打包+360加固,但目前还未来得及实践。先留下网址:https://www.jianshu.com/p/be1bbb070322,待日后有机会再~~

·Robust

集成文档地址:http://blog.csdn.net/snailbaby_soko/article/details/69524380

Robust的集成相比Bugly要简单一点,大家就先去看文档吧。:)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容