一步一步带你接入tinker

作者: 瓦雷 | 来源:发表于2017-08-10 19:12 被阅读233次

    一、代码集成

    导包、配置build.gradle参数

    1>首先在根目录下的build.gradle中添加tinker的插件

    classpath "com.tencent.tinker:tinker-patch-gradle-plugin:${TINKER_VERSION}"
    

    2>在app目录下的build.gradle中添加tinker核心库

     compile("com.tencent.tinker:tinker-android-lib:${TINKER_VERSION}") { changing = true }
        //可选,用于生成application类
     provided("com.tencent.tinker:tinker-android-anno:${TINKER_VERSION}") { changing = true }
    

    3>在根目录下的gradle.properties中添加具体的tinker版本值

    #tinker版本号
    TINKER_VERSION=1.7.11
    

    4>剩余app目录下build.gradle中的参数可以参照官方demo或者点击这里进行参考

    5>拷贝demo中的工具类

    360反馈意见截图16511003224415.png

    在我的demo中添加了下载apk的service工具类DownloadFileService

    好了代码集成就完成了,接着进行如何使用tinker

    2、如何使用tinker

    首先先打一个基础包,无论是debug或者release版本
    这里说明下三种打包的方式:
    
    a.最常用的直接点击三角图标,默认都是debug版本,除非要build.gradle配置了release,并在buildVariants中设置了默认项
    
    b.使用命名,在Terminal中输入gradlew assembleDebug (记得配置gradle环境变量)
    Gradlew是包装器,自动下载包装里定义好的gradle 版本,保证编译环境统一,gradle 是用本地的gradle 
    
    c.使用studio的插件,如下图
    
    333333333333.png

    打完包之后会在app→build下生成一个bakApk的目录,这个目录就是存放基础apk的目录,之后形成的补丁就是与该目录下的apk做的差异算法形成的。

    6666.png

    将基础包的apk与txt文件名填写到build.gradle中

    骚年.给你三分钟去修改你的bug吧....

    时间到,bug修改完毕....

    接着我们需要打出一个补丁包,该怎么打呢?so简单

    a.在Terminal中输入gradlew tinkerPatchDebug
    
    b.如果记不住命名,就是用gradle插件直接打包吧
    
    9999.png

    生成的补丁包会出现下图中...

    33366.png
    至此你就可以拿着这个补丁包上传到公司的服务器上去了,在app启动的时候进行下载该app,
    下载完成使用 TinkerInstaller.onReceiveUpgradePatch(getApplicationContext(), Environment.getExternalStorageDirectory().getAbsolutePath() + "/patch_signed_7zip.apk");
    进行加载补丁即可,下载的目录与补丁的目录保持一致
    

    源码点这里

    测试阶段如果不想使用下载也可以将补丁包直接push到手机上

    相关文章

      网友评论

        本文标题:一步一步带你接入tinker

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