搜索
您的当前位置:首页正文

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

3 application配置,初始化tinker

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

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

4 测试

图片.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

Top