阿里热修复方案Sophix
来源:互联网 发布:最好英语辅导软件 编辑:程序博客网 时间:2024/05/23 16:54
今天试了下阿里热修复方案Sophix,Sophix还在公测阶段,傻瓜式开发和使用。
Sophix的核心设计理念,就是非侵入性。下面是和其他主流热修复技术的性能比较:
使用也很简单,本人使用的是android studio,不需要下载第三方sdk。首先就是在主module下的build.gradle下添加maven仓库地址:
repositories { maven { url "http://maven.aliyun.com/nexus/content/repositories/releases" } }
添加gradle坐标版本依赖:
dependencies { compile 'com.aliyun.ams:alicloud-android-hotfix:3.0.2' }
配置AndroidManifest文件,在AndroidManifest.xml中间的application节点下添加如下配置:
<meta-data android:name="com.taobao.android.hotfix.IDSECRET" android:value="App ID" /> <meta-data android:name="com.taobao.android.hotfix.APPSECRET" android:value="App Secret" /> <meta-data android:name="com.taobao.android.hotfix.RSASECRET" android:value="RSA密钥" />
SDK接口接入,initialize的调用应该尽可能的早,必须在Application.onCreate()的最开始进行SDk初始化操作,否则极有可能导致崩溃。而查询服务器是否有可用补丁的操作可以在后面的任意地方。
SophixManager.getInstance().setContext(this) .setAppVersion(appVersion) .setAesKey(null) .setEnableDebug(true) .setPatchLoadStatusStub(new PatchLoadStatusListener() { @Override public void onLoad(final int mode, final int code, final String info, final int handlePatchVersion) { // 补丁加载回调通知 if (code == PatchStatus.CODE_LOAD_SUCCESS) { // 表明补丁加载成功 } else if (code == PatchStatus.CODE_LOAD_RELAUNCH) { // 表明新补丁生效需要重启. 开发者可提示用户或者强制重启; // 建议: 用户可以监听进入后台事件, 然后应用自杀 } else if (code == PatchStatus.CODE_LOAD_FAIL) { // 内部引擎异常, 推荐此时清空本地补丁, 防止失败补丁重复加载 // SophixManager.getInstance().cleanPatches(); } else { // 其它错误信息, 查看PatchStatus类说明 } } }).initialize(); SophixManager.getInstance().queryAndLoadNewPatch();
以上就完成了代码的配置,确实简单。
Sophix热修复时及时versionCode一样也可以更新,通过上面的代码生成两个apk后,就可以使用阿里补丁工具生成两apk对应的sophix-patch.jar文件。
我们可以本地利用调试工具通过sophix-patch.jar热修复原apk得到新apk。
第一次是利用我自己的努比亚手机实验的,利用调试工具热修复时提示找不到包名,此问题可以在官网的接入问题上找到“方案”:
但是我找了半天也没找到在哪手动设置开启aidl。
好吧,换个手机,确实可以了,使用补丁工具和调试工具进行热修复确实很简单。等测试后通过就可以发布到服务器进行正式测试了。
阅读全文
1 0
- 阿里热修复方案Sophix
- 【笔记】阿里非侵入式热修复方案Sophix
- 阿里热修复框架Sophix
- 阿里热修复之Sophix
- 阿里热修复Sophix 3.0
- 阿里热修复——sophix
- 阿里SopHix热修复框架接入
- 阿里云热修复sophix详解
- android热修复-阿里Hotfix最新版(Sophix)
- Android热修复方案--sophix简单使用
- 阿里推出业界首个非侵入式热修复方案Sophix,颠覆移动端传统更新流程!
- Sophix热修复实践
- sophix热修复笔记
- 热修复技术 Sophix
- 阿里Sophix热修复的简单集成和使用
- 阿里云热修复技术Sophix的快速接入
- Sophix-阿里第三代非侵入式热修复
- 阿里SopHix热修复框架操作实践基础步骤
- 自然语言处理工具NLTK——提取单词的主干
- 关于贝叶斯的一个小小的总结
- 写一个常用的通用makefile
- Android:JNI 与 NDK到底是什么?(含实例教学)
- mysql Access denied for user root@localhost错误解决方法总结
- 阿里热修复方案Sophix
- 简单的幻灯片实现
- 数据库中关于范式的判断
- 关键参数
- flume基础安装配置和实例的学习连接
- 批量处理 bat脚本记录
- js遍历map对象
- apk之瘦身webp原理和Android案列使用
- 进程管理程序(完整版)1.0