10分钟集成TinkerPatch

        本来2月份就该写一下流程,一直拖到现在,热修复是干啥的大家都懂,当然,tinker作为日活近8亿的微信大IP热修复技术,理所当然要拿来用用,那修补匠情节,相信很多人也是有的..


10分钟集成TinkerPatch_第1张图片
发激光,发导弹


集成tinker热修复可以选择两种方式

1.单纯集成tinker,自己后台发送补丁,这种方式比较麻烦,感兴趣的同学请点这里,github tinker 官方demo ,上面有详细的配置,稍微有点繁琐..

2.也就是我们要说的tinkerPatch,主要是腾讯后台帮我们去发送补丁,原理主要是把新包,跟旧包做了一个差异化对比,并生成了一个新的补丁包,只要你的app集成了tinker,那么一旦有补丁下发,他就会检测补丁,实现更新,酱我们就不用重新安装新的apk,来达到动态更新,TinkerPatch官方Demo,然鹅..很多小伙伴即使拿到demo仍然各种不行,下面我们就把集成的步骤 重头梳理一下,让他变成傻瓜试无脑集成

步骤一: 导包


10分钟集成TinkerPatch_第2张图片
工程目录下的 build.gradle最后面为tinkerpatch的官方版本引用,版本号在gradle.properties中



10分钟集成TinkerPatch_第3张图片
app中build.gradle中的dependencies

当然在app中build.gradle中千万别忘了这个


依赖于tinkerpatch.gradle

当然 signingConfigs签名什么就不赘述啦..可以选择性配一下不配也没关系

然后将 上面依赖的tinkerpatch.gradle考进来,这个文件是tinkerpatch的主要配置文件,参考demo,考到项目主工程的根目录

步骤二:配置application,并申请appkey

tinkerpatch.gradle中有一个配置 叫reflectApplication 默认是false,如果遵循默认的配置,那我们的application要修改一下,


10分钟集成TinkerPatch_第4张图片

注:manifest 中的application是不用变的,虽然他会红,但是没关系,问题不大

接下来去这里登录(qq号就行),创建一个应用然后拿到一个appkey

步骤三:打包

现在我们需要有一个基准包做热修复之前的显示,那么从哪里打呢?从这里


10分钟集成TinkerPatch_第5张图片
想打debug就点上面的,release就点下面的

双击过后你的apk会出现在build一个目录中,没错就是app目录下的那个build


10分钟集成TinkerPatch_第6张图片

现在我们已经生成了基准包的apk,简单说一下当我们生成了基准包以后,

1.我们需要将tinkerpatch.gradle文件中的baseInfo 替换成现有的基准包路径,

2.现在我是release,variantName就填release 如果你debug 或者多渠道flavor,那该是什么就填什么,否则等会打补丁包的时候,它会报找不到基准包

3.将appkey填入,appversion跟你的app版本一致就行了

现在我们的基准包已经装在手机上了,他是长这样的


10分钟集成TinkerPatch_第7张图片
基准包

好现在我改改布局,改成这样的


10分钟集成TinkerPatch_第8张图片
新包


现在需要打补丁了 点这里


10分钟集成TinkerPatch_第9张图片

点击右边的thinkerPatch 会在左边的 outputs 文件夹中生成补丁,patch_sighed_7zip.apk就是补丁包,可以看到上面会生成一个旧包和一个新包,然后将这个补丁扔到thinkerpatch平台选择条件下发就可以了,你会看到这个界面:


10分钟集成TinkerPatch_第10张图片
坐等更新

当然你可以在application中去各种配置,多久下发,锁屏安装等等,非常灵活,具体可以参考api文档

附demo

你可能感兴趣的:(10分钟集成TinkerPatch)