Sophix移动热修复之如何使用(二)
来源:互联网 发布:上高速官方版淘宝 编辑:程序博客网 时间:2024/05/20 14:27
上一篇Sophix移动热修复之在AndroidStudio项目集成SDK(一)讲了如何在项目中集成Sophix,
强烈建议大家阅读官方的快速接入文档(快速接入),文章中大部分内容都是从官方文档中摘抄出来的。
这篇讲解如何使用阿里云的控制台进行热更新(移动热修复),这里同样给出官方使用链接(使用说明)。
上一篇讲到本地创建了一个新的项目,并在MyApplication中接入了Sophix。
接下来我们看看怎么使用移动热修复
第一步:模拟旧包与新包
① 在MainActivity.java中,尝试写入一句话This is my first test(你想写啥就写啥)
@Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_hotfix_test); TextView tv = (TextView) findViewById(R.id.tv_sophix); tv.setText("This is my first test"); }
② 打出一个签名包,保存好你的数字证书(即.jks密钥),假设这里将打出的包命名为 app-release-1.apk
将app-release-1.apk安装到手机上,界面应该显示为 This is my first test
③ 修改MainActivity.java中的代码,改为You are my sunshine(你想改成啥就改成啥)
@Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_hotfix_test); TextView tv = (TextView) findViewById(R.id.tv_sophix); tv.setText("You are my sunshine"); }
第二步:生成补丁
① 下载打补丁工具SophixPatchTool (快速接入)
② 生成补丁(即生成patch)
打开下载好的SophixPatchTool,初始情况下显示为下面左图,点击高级显示为右图
- 旧包:<必填> 选择基线包路径(有问题的APK)。这里选择app-release-1.apk的路径。
- 新包:<必填> 选择新包路径(修复过该问题APK)。这里选择app-release-2.apk的路径。
- 日志:打开日志输出窗口。
- 高级:展开高级选项,如右图。
- 设置:配置其他信息,如下图。
- GO!:开始生成补丁。
补丁输出路径:必填,即之后要用的patch的路径,放置补丁的位置
Key Store Path:选填,即之前保存的数字证书,此处不填则不做签名
Key Store Passwoed:选填,数字证书的密码
Key Alias:选填,Key的别名
Key Password:选填,Key的密码
总之,此处应与之前打签名包的时候填写一致,点击确定,点击GO!生成补丁 (文件名为sophix-patch.jar),保存好,下面要用哦~~~
第三步:上传补丁
① 添加版本
填写版本号时,版本号必须与用户App内的appVersion相同,如果不相同将导致补丁发布不成功。
② 上传补丁
点击上传补丁
上传完成之后会出现一个 等待发布 状态的补丁,点击查看详情,进入 补丁详情
③ 发布补丁
这里发布分为两种:灰度发布 和 全量发布
灰度发布模式,可以在控制台设置灰度设备数,客户端拉取补丁会消耗该设备数,达到灰度设备数后,灰度补丁自动置为停止状态。
设备数:指设备请求更新该补丁的次数,并不等于绝对设备数。
例如:1个设备请求了2次更新该补丁,则会消耗掉2的设备数。
灰度后可以根据自身需要停止本次灰度发布,停止后可以选择:
--重设灰度发布规则,新的规则中设备数必须大于之前的值。
--改为全量发布。
--回滚版本(如果存在历史版本)
全量发布模式,选择全量发布后,将对所有安装了当前应用版本(即之前创建应用时所填写的应用版本号)的设备推送该补丁。
与灰度发布类似,在全量发布会可以根据自身需要停止本次全量发布,停止发布后可以选择:--继续全量发布。
--回滚版本(如果存在历史版本)
④(为方便,直接点击全量发布后)打开之前在手机上安装的app-release-1,看看此时界面是不是已经显示成You are my sunshine了呢~~~
注意:发布前请严格按照:扫码内测 => 灰度发布 =>全量发布的流程进行,以保证补丁包能够正常在所有Android版本的机型上生效。
为了保险起见,理论上应该对每个版本的android手机都测一遍是否生效会比较好。
不过,其实只需测试通过以下具有代表性的Android版本就基本没什么大问题了:4.0、4.4、5.1、7.0
链接:
多渠道打包如何生成补丁
官网关于补丁的诸多问题
- Sophix移动热修复之如何使用(二)
- 移动热修复Sophix之初体验
- 阿里热修复之Sophix
- sophix热修复技术使用
- Sophix移动热修复之在AndroidStudio项目集成SDK(一)
- Android热修复之Sophix初探
- Android热修复方案--sophix简单使用
- Sophix热修复实践
- sophix热修复笔记
- 热修复技术 Sophix
- 阿里热修复方案Sophix
- 阿里热修复框架Sophix
- 阿里热修复Sophix 3.0
- 浅析Android热修复sophix
- 阿里Sophix热修复的简单集成和使用
- Android探索之旅(第二十五篇)腾讯热修复框架Tinker与阿里第三代热修复框架Sophix对比
- 阿里推出业界首个非侵入式热修复方案Sophix,颠覆移动端传统更新流程!
- Sophix热修复问题以及加固
- HDU
- jzoj5043 【NOI2017模拟4.4】保持平衡 (可撤销贪心)
- 定时框架quartz的使用
- 5185 Equation
- Javascript-this
- Sophix移动热修复之如何使用(二)
- 大话数据结构 code 第八章 01静态查找_Search
- Java多线程
- 斯坦福大学公开课机器学习课程(Andrew Ng)八顺序最小优化算法
- 打不死的又如何能毁灭呢?尴尬的 Windows XP 是升级还是保留?
- 【连载】计算机组成原理 --- 概述
- 最短路简化版的两种解法
- mysql创建与回滚
- Java范型