腾讯热修复Tinker初探

热补丁修复框架,极大的方便了开发者热修复自己线上App的出现的bug和漏洞。之前已经尝试了阿里热修复SopHix和美团热修复Robust,现在尝试集成腾讯的热修复Tinker。

下载Tinker

Tinker官方地址: https://github.com/Tencent/tinker

解压到本地

腾讯热修复Tinker初探_第1张图片

本次所使用的为tinker-sample-android

将tinker-sample-android导入androiid studio

腾讯热修复Tinker初探_第2张图片

导入后,build项目时会出现一系列问题,下文将讲述如何解决这些问题

Tinker集成时问题

Tinker导入项目后,不能直接运行,需要稍作修改,下面的本人集成过程中出现的问题,如果你遇到的问题与我不同,欢迎留言。

tinkerId is not set!!!

问题

腾讯热修复Tinker初探_第3张图片

解决

在app的build.gradle中搜索tinkerId,并将tinkerId=getTinkerIdValue()修改为tinkerId=”TinkerSample”(内容可以是其他)

腾讯热修复Tinker初探_第4张图片

Tinker does not support instant run mode

问题

腾讯热修复Tinker初探_第5张图片

解决

依次打开File->setting->Build,Execution,Deployment->Instant Run,将Enable前的复选框去掉,并同步一下

腾讯热修复Tinker初探_第6张图片

集成步骤

生成一个未修改之前的apk文件

点击右侧的Gradle,在展开的Gradle projects中选择app,并依次展开Tasks->build->assembleDebug

腾讯热修复Tinker初探_第7张图片

在assembleDebug上右键运行

腾讯热修复Tinker初探_第8张图片

在app/build/barApk下可以看到生成的apk文件

腾讯热修复Tinker初探_第9张图片

将此apk运行到手机上

腾讯热修复Tinker初探_第10张图片

修改代码或布局

在主项目中新增一个按钮

腾讯热修复Tinker初探_第11张图片

生成patch

在app下的build.gradle中配置如下

腾讯热修复Tinker初探_第12张图片

gradle里面执行下tinkerpatchdebug

点击Gradle,依次展开tiner-sample-android->Task->tinker,选择tinkerPatchDebug

腾讯热修复Tinker初探_第13张图片

右键运行

腾讯热修复Tinker初探_第14张图片

在app/build/outputs/tinkerPatch下可以看到patch补丁

腾讯热修复Tinker初探_第15张图片

将patch补丁包放到手机根目录下

腾讯热修复Tinker初探_第16张图片

修复

点击load patch

腾讯热修复Tinker初探_第17张图片

点击Kill self并重启

新下的按钮是新增的,修复已生效

腾讯热修复Tinker初探_第18张图片

参考:

tinker-sample-android

你可能感兴趣的:(腾讯热修复Tinker初探)