版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wtt945482445/article/details/79651018
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.调试工具
扫描二维码关注公众号,回复:
3033224 查看本文章
10.验证补丁是够修复
11.注意事项
- 在任何情况下都应该保留基准版本包,所有的热修复框架表面上大同小异,底层原理有各有不同