Android探索之旅(第二十八篇)手把手一步步教你集成阿里热修复SopHix

Posted 请叫我章鱼哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android探索之旅(第二十八篇)手把手一步步教你集成阿里热修复SopHix相关的知识,希望对你有一定的参考价值。

1.第一步创建项目

通过androidStudio创建工程大家都会,就不用我说了吧,还在用Eclipse的小伙伴收拾收拾……哈哈

2.android studio集成方式

gradle远程仓库依赖, 打开项目找到app的build.gradle文件,添加如下配置:

添加maven仓库地址:

添加gradle坐标版本依赖:

3.权限配置

Sophix SDK使用到以下权限

READ_EXTERNAL_STORAGE权限属于Dangerous Permissions,仅调试工具获取外部补丁需要,不影响线上发布的补丁加载,调试时请自行做好android6.0以上的运行时权限获取。

4 配置AndroidManifest文件

在AndroidManifest.xml中间的application节点下添加如下配置:

将上述value中的值分别改为通过平台HotFix服务申请得到的App Secret和RSA密钥,出于安全考虑,建议使用setSecretMetaData这个方法进行设置,详见1.3.2.1的方法说明。

注:App ID/App Secret将被用于计量计费,请妥善保管注意安全。

5.混淆配置

6.SDK接口使用说明

接入范例
initialize的调用应该尽可能的早,必须在Application.attachBaseContext()的最开始(在super.attachBaseContext之后,如果有Multidex,也需要在Multidex.install之后)进行SDK初始化操作,初始化之前不能用到其他自定义类,否则极有可能导致崩溃。而查询服务器是否有可用补丁的操作可以在后面的任意地方。不建议在Application.onCreate()中初始化,因为如果带有ContentProvider,就会使得Sophix初始化时机太迟从而引发问题。

7.生成补丁工具

  • 旧包:<必填> 选择基线包路径(有问题的APK)。
  • 新包:<必填> 选择新包路径(修复过该问题APK)。
  • 日志:打开日志输出窗口。
  • 高级:展开高级选项,见2.2.3。
  • 设置:配置其他信息。
  • GO!:开始生成补丁。

8.设置对话框

  • 补丁输出路径:<必填> 指定生成补丁之后补丁的存放位置,必须是已存在的目录。
  • Key Store Path:<选填>本地的签名文件的路径,不输入则不做签名。
  • Key Store Password:<选填>证书文件的密码。
  • Key Alias:<选填>Key的别名。
  • Key Passwrod:<选填>Key的密码。
  • AES Key:<选填>自定义aes秘钥, 必须是16位数字或字母的组合。必须与setAesKey中 设置的秘钥一致。
  • Filter Class File:<选填>本地的白名单类列表文件的路径,放进去的类不会再计算 -patch,文件格式: 一行一个类名。

9.调试工具

10.验证补丁是够修复

11.注意事项
  • 在任何情况下都应该保留基准版本包,所有的热修复框架表面上大同小异,底层原理有各有不同

以上是关于Android探索之旅(第二十八篇)手把手一步步教你集成阿里热修复SopHix的主要内容,如果未能解决你的问题,请参考以下文章

开始写游戏 --- 第二十八篇

Egret入门学习日记 --- 第二十八篇(书中 9.19 ~ 9.19 节 内容)

第二十八篇 静态属性类方法静态方法

我的第二十八篇博客---seleinum

第二十八篇 vue

小刘同学的第二十八篇博文