Tinker最简单的集成

作者: moushao | 来源:发表于2017-07-06 15:25 被阅读198次

    Tinker目前是热修复最火热的方案!关于Tinker的各种背景信息和介绍,请参考官网文档:
    Tinker官网介绍

    1 接入

    首先,在project下的build.gradle下添加tinker插件,如图:

    图片.png

    其次,在app中的bulid.gradle的dependencies中添加tinker SDK的依赖,如图:


    注意,若使用 annotation 自动生成 Application, 需要单独引入 Tinker 的 tinker-android-anno 库。除此之外,我们无需再单独引入 tinker 的其他库。一般来说,我们都有自定义的application,所以这个可以不用加.

    2配置

    首先,我们还需要给tinker本身写添加配置,这个配置既可以写在app下的build.gradle中,也可以自己写一个tinkerpatch.gradle,为了项目本身结构清晰化,我们选择第二种方式,tinkerpatch.gradle的文件位置放在app目录下,并且项目的签名文件也放在app,便于后面做签名配置,代码如下:

    Tinker SDK.png
    图片.png tinkerpatch.gradle你可以直接点击下载后copy到你的项目中,然后按照注释更改信息就好.

    其次,在app的build.gradle中添加apply from: 'tinkerpatch.gradle':

    ![图片.png](http:https://img.haomeiwen.com/i927828/401500daeb15047a.png?imageMogr2
    /auto-orient/strip%7CimageView2/2/w/1240)
    最后,在app的bulid.gradle中添加tinker的签名配置:

    图片.png

    3 application配置,初始化tinker

    tinker的官方文档中,说了关于application的集成,什么自动不自动,说实在的,搞的我非常的懵逼!!!一般来说,tinker的集成都是后期,此时我们早已经有了自定义的application,所以,我们按自定义的方式来就好!

    图片.png FetchPatchHandler是每隔一段时间就去访问平台,看看是否有新的补丁发布,代码为,可点击此处下载
    图片.png

    4 测试

    补丁发布我们就用TinkerPatch平台,内含发布教程,将你创建的appKey配置到tinkerpatch.gradle中.

    图片.png

    1在app启动后,MainActivity中打印一句话:


    图片.png

    签名打包安装,运行后如图:

    图片.png

    你会惊奇的发现app中build目录下,多了个bakApk文件包,

    图片.png

    app-1.0.0-0706-12-42-45这个文件夹并非空穴,她的命名有理可推的,其中1.0.0就是tinkerpatch.gradle中,appVersion的值,而0706-12-42-45为7月6日12点42分45秒,按时间生成的.而目录下的app-release.apk就是正规的签名包了,这个也是基础包,可以直接发布使用.

    注意,此处高能预警:
    如果你发布的这个版本有bug需要修改,我们就需要这个基础包信息,但bulid的内容会根据编译随时自动清空,当你在修改这个bug的时候,需要在tinkerpatch.gradle中的baseInfo配置这个基础包,最后编译的时候build下没有app-1.0.0-0706-12-42-45这个文件,就会报错!!!而且是必须为真,不能随意替换改个名字敷衍,因为要和基础包对比改了什么.废话说了这么多,一句话总结:如果你正式版发布的这个,你就需要备份!!!!备份!!!备份!!!,打补丁的时候再cp进去.

    好了,现在我们改变toast的内容,

    图片.png

    然后点击AS编辑器右上角的gradle,双击tinkerPatchRelease:

    图片.png

    如果签名信息不成功,会报如下错误:


    图片.png

    如果基础包配置信息错误,也会报错:

    图片.png

    如果什么错都没有,则会如图生成一个补丁包:

    图片.png ,这个就是发布到平台的补丁包.点击发布,内含发布教程,
    发布成功后,多次启动app后会发现toast的内容已经改变: 图片.png

    TinkerPatch后台的信息也显示,下载成功且更新成功


    图片.png

    好了,至此集成完成,项目源码!
    如果喜欢,请给个赞,谢谢!

    更多问题加群:584275290

    相关文章

      网友评论

      本文标题:Tinker最简单的集成

      本文链接:https://www.haomeiwen.com/subject/lehhhxtx.html