一步一步带你接入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