简介
-
在网上找了几个热修复平台的对比,发现阿里云的综合效果最佳,详情见下表(该表来自阿里云文档,所以其他参与比较的平台被屏蔽了名称,大家稍微百度一下就知道是什么平台了)
创建热修复产品
- 首先要登录阿里云,支持阿里云、淘宝、1688、微博、支付宝等方式登录,还是挺方便的。如果是想把热修复集成到公司的项目中,建议使用公司的账号,因为阿里云的热修复每天只有5W免费设备量,超过需要付费,计费规则参考这里。
-
登录后,按照“产品->企业应用->移动云->移动热修复”的流程进入移动热修复模块,如下图
-
进入“移动热修复”模块后,界面如下图所示(若未曾开通过,图中红框内的按钮会显示“立即开通”,我这里是已经开通了,所以显示的是“管理控制台”),未开通的就开通一下,这里就不记录开通流程了。开通后点击“管理控制台”,进入下一步。
-
进入后界面如下图所示。选中“我的产品”,点击“+”号,按照提示操作添加应用。
接入SDK
- 创建完热修复产品后,即可按照SDK文档进行接入。接入的时候可能会遇到编译不过的问题,我遇到的一个就是:没有在 AndroidManifest.xml 中添加 tools:replace="allowBackup",官方文档上似乎没有写这个,算是个小坑。上按照文档上的流程去走,基本不会出什么问题。
补丁相关
- 生成补丁需要阿里提供的工具,下载地址和使用说明都在这里边了。若是补丁失败的话,可以看工具提供的log,一般可以定位到问题。我试过补丁生成失败,看log也没看出原因,后来反复看代码才发现填错了appid,因为粘贴appid的时候多按了其他的按键。
- 生成补丁后需要上传到阿里云(查看流程)。整个流程说的还算详细,但是在补丁发布后,还是没有更新,试了好几次才知道,线上的app版本要和补丁的版本号一致才生效。
- 同一个版本可以上传多个补丁。
- 强烈建议发布补丁(查看发布流程)前先用阿里提供的调试工具测试成功后再发布。
- 如果发布补丁后,发现并不能实时热修复,那可能是打包补丁的工具设置了“强制冷启动”,取消勾选后,阿里云会根据热更新的范围程度来取决是否冷启动更新(小范围修复则实时热修复)。
踩坑
- 一开始上百川热修复的官网,它提供的部分文档代码示例,和提供的demo工程里的代码不一致,折腾了一下午还是没接上。后来加了钉钉的技术群,热心的同学告诉我,现在用的阿里热修复,百川的是老的。这一点很奇怪,文档是老的,但是demo却和阿里云提供的demo一致。