TinkerPatch Demo
TinkerPatch 开发文档
什么是 TinkerPatch 平台?
Tinker 需要使用者有一个后台可以下发和管理补丁包,并且需要处理传输安全等部署工作,TinkerPatch 平台帮你做了这些工作,提供了补丁后台托管,版本管理,保证传输安全等功能,让你无需搭建一个后台,无需关心部署操作,只需引入一个 SDK 即可立即使用 Tinker。
TinkerPatch就是对tinker的一种封装,提供一个分发的后台,可以很方便的接入和分发,Bugly 热更新也是这样的一种平台,对tinker进行封装,引入封装好tinker的第三方的sdk,就可以直接使用热更新
此外,通过深入研究 Tinker 源码,TinkerTinkerPatch 平台在 Tinker的基础上加入了以下特性:
- 一键傻瓜式接入;无需理解复杂的热修复原理,一行代码即可接入热修复。实现了自动反射 Appliction 与 Library,使用者无需对自己的项目做任何的改动;
- 补丁管理;实现了热补丁的版本管理,补丁的自动重试与异常时自动回退等功能。同时我们可以简单实现条件下发补丁,在出现异常情况时,我们也可以快速回滚补丁;
- 编译优化;简化了 Tinker 的编译复杂度,实现了备份路径选择,功能开关等功能。
TinkerPatch 平台在 Github 为大家提供了各种各样的 Sample,大家可点击前往 [TinkerPatch Github].
接入流程
具体的接入流程文档上面都有具体的步骤,这里就简单描述一下从接入到修复的整体流程。。。
1. 导入对应的sdk jar包
project 级别的 build.gradle
![](https://img.haomeiwen.com/i3246637/af1af184ba682a54.png)
module APP build.gradle
![](https://img.haomeiwen.com/i3246637/ec6b0436fcfbd4e9.png)
2. 在APP build.gradle 目录下创建文件 tinkerpatch.gradle ,tinker的build
![](https://img.haomeiwen.com/i3246637/5b21ba6984553f8a.png)
内容先copy tinkerpatch.gradle ,具体的参数含义查看文档tinkerPatch SDK 文档
3. 在APP build.gradle 中引入tinkerpatch.gradle
![](https://img.haomeiwen.com/i3246637/da045fbd960479a9.png)
4. 在application中初始化tinkerPatch sdk,因为使用的是无替换application,所以在tinkerpatch.build中必须对reflectApplication = true,默认是false
![](https://img.haomeiwen.com/i3246637/f6b7020c4a0e3bdb.png)
![](https://img.haomeiwen.com/i3246637/9cb460ce05646886.png)
5. 设置版本号,生成基准包,注意tinkerpatch.gradle中的appVersion和app.gradle中对应的一致
设置好相应的参数之后,在build中选择assemble,生成dubug包和release包(正常应该有assembleDebug和assembleRelease,估计没有签名配置有问题),选择相应的debug或者release包装到手机上,保证手机能联网
![](https://img.haomeiwen.com/i3246637/771f570ee4769bb7.png)
![](https://img.haomeiwen.com/i3246637/d61aedb67b6e4238.png)
![](https://img.haomeiwen.com/i3246637/6e90044e9481a9e8.png)
![](https://img.haomeiwen.com/i3246637/73a48e53468f495c.png)
![](https://img.haomeiwen.com/i3246637/032102c8fe7091fc.png)
6. 修改APP应用中需要更新的地方,修改tinkerpatch.build文件,这里主要就是修改基类包文件的位置信息,baseApkFile等,如果设置的不对,build faile 提示找不到对应的文件。。设置好之后,选择tinkerPatchDebug 或者tinkerPatchRelsease ,根据自己基类包的类型选择。。build成功之后,会在build-output-app-tinkerpatch文件目录下生成zip的apk文件,就是生成的补丁包
![](https://img.haomeiwen.com/i3246637/b4429deb9e2974d5.png)
![](https://img.haomeiwen.com/i3246637/6b9c443201482d99.png)
![](https://img.haomeiwen.com/i3246637/780e21b835ed49c7.png)
![](https://img.haomeiwen.com/i3246637/3e0b51e249b38299.png)
7. 把补丁包上传到tinkerpatch平台上,等待平台下发补丁包,重启应用即可更新成功
![](https://img.haomeiwen.com/i3246637/05e8a71da5fac1e4.png)
![](https://img.haomeiwen.com/i3246637/d55f1b6899ee5837.png)
![](https://img.haomeiwen.com/i3246637/264e63e8aaa0b8c6.png)
![](https://img.haomeiwen.com/i3246637/60ce39ba3be76e13.png)
网友评论