SopHix初试
接入步骤
一 基本配置
1.1 申请开通阿里移动热修复
1.2 创建产品 & 添加应用
1.3 Android Studio 项目build.gradle
添加Mavel依赖
app module build.gradle
添加依赖
|
|
1.4 添加权限
1.5 配置AndroidManifest文件
在AndroidManifest.xml
中间的application
节点下添加如下配置:
1.6 混淆配置
二 SDK接口使用
2.1 接入范例
initialize的调用应该尽可能的早,必须在Application.attachBaseContext()
的最开始(在super.attachBaseContext之后,如果有Multidex,也需要在Multidex.install之后)进行SDK初始化操作,初始化之前不能用到其他自定义类,否则极有可能导致崩溃。而查询服务器是否有可用补丁的操作可以在后面的任意地方。不建议在Application.onCreate()
中初始化,因为如果带有ContentProvider,就会使得Sophix初始化时机太迟从而引发问题。
三 补丁包的生成
3.1 下载 SopHix补丁工具
Mac版本打包工具地址:http://ams-hotfix-repo.oss-cn-shanghai.aliyuncs.com/SophixPatchTool_macos.zip
Windows版本打包工具地址:http://ams-hotfix-repo.oss-cn-shanghai.aliyuncs.com/SophixPatchTool_windows.zip
Linux版本打包工具地址:http://ams-hotfix-repo.oss-cn-shanghai.aliyuncs.com/SophixPatchTool_linux.zip
调试工具地址:http://ams-hotfix-repo.oss-cn-shanghai.aliyuncs.com/hotfix_debug_tool-release.apk
3.2 生成补丁
打开补丁生成工具,利用新包旧包生成补丁包
四 补丁包的下发
4.1 打开热修复控制台,添加版本,上传补丁
4.2 测试补丁
- 手机安装调试工具,adb shell input text packname 输入apk的包名
![](https://user-gold-cdn.xitu.io/2018/3/29/16270f139c0adaa1?w=1080&h=2160&f=png&s=123 - 扫码验证
- adb push patch.jar 手机的任意绝对路径
- 手机输入jar路径,点击应用补丁
应用已经存在一个补丁, 请求发现有新补丁后,本次不受影响。并且在下次启动时补丁文件删除, 下载并预加载新补丁。在下下次启动时应用新补丁。
补丁在后台发布之后, 并不会主动下行推送到客户端, 需要手动调用queryAndLoadNewPatch方法查询后台补丁是否可用.
4.3 测试无误后控制台选择新建发布进行灰度发布
灰度测试,就是在某项产品或应用正式发布前,选择特定人群试用,逐步扩大其试用者数量,以便及时发现和纠正其中的问题。
4.4 再次确认无误后,进行全量发布