Android Studio配置TinkerPatch引入Tinker安卓热部署解决方案

Tinker是微信官方的Android热补丁解决方案,支持动态下发代码、So 库以及资源,让应用能够在不需要重新安装的情况下实现更新。本文介绍下Android Studio如何通过TinkerPatch引入Tinker让你的Android应用支持热部署。

 

Android热部署

Android热部署,又称为热修复、热更新、动态加在等,简而言之就是不需要用户全量更新apk文件,而是只更新一小部分内容,可以在用户不察觉的情况下把这些小改动加进去,让bug修复和小功能添加变得异常简单。

 

Tinker介绍

Tinker 是一个开源项目(Github链接),它是微信官方的 Android 热补丁解决方案,它支持动态下发代码、So 库以及资源,让应用能够在不需要重新安装的情况下实现更新。

与市面上其他常见的热部署方案比较如下:

功能TinkerQZoneAndFixRobust
类替换yesyesnono
So替换yesnonono
资源替换yesyesnono
全平台支持yesyesnoyes
即时生效nonoyesyes
性能损耗较小较大较小较小
补丁包大小较小较大一般一般
开发透明yesyesnono
复杂度较低较低复杂复杂
Rom体积Dalvik较大较小较小较小
成功率较高较高一般最高

Tinker热补丁方案不仅支持类、So 以及资源的替换,它还是2.X-7.X的全平台支持。利用Tinker我们不仅可以用做 bug fix,甚至可以替代功能的发布。

 

TinkerPatch

Tinker 需要使用者有一个后台可以下发和管理补丁包,并且需要处理传输安全等部署工作,TinkerPatch 平台帮你做了这些工作,提供了补丁后台托管,版本管理,保证传输安全等功能,让你无需搭建一个后台,无需关心部署操作,只需引入一个 SDK 即可立即使用 Tinker。

此外,通过深入研究 Tinker 源码,TinkerTinkerPatch 平台在 Tinker的基础上加入了以下特性:

  1. 一键傻瓜式接入;无需理解复杂的热修复原理,一行代码即可接入热修复。实现了自动反射 Appliction 与 Library,使用者无需对自己的项目做任何的改动;
  2. 补丁管理;实现了热补丁的版本管理,补丁的自动重试与异常时自动回退等功能。同时我们可以简单实现条件下发补丁,在出现异常情况时,我们也可以快速回滚补丁;
  3. 编译优化;简化了 Tinker 的编译复杂度,实现了备份路径选择,功能开关等功能。

 

配置TinkerPatch

下面介绍下如何在Android Studio中配置TinkerPatch。

1.添加gradle插件依赖

在工程的build.gradle文件添加如下依赖(classpath "com.tinkerpatch.sdk:tinkerpatch-gradle-plugin:1.2.11"):

2.添加TinkerPach SDK依赖

在app(主项目)的build.gradle里添加如下依赖:

3.TinkerPach配置文件

新建一个配置文件tinkerpath.gradle(与app的build.gradle同级),内容如下,这里需要注意的几个参数包括baseInfo,appVersion和appKey:

4.初始化TinkerPatch

在Application类里初始化TinkerPatch:

 

使用TinkerPatch

我一般的使用步骤如下:

1.发布release版的APK

在app的build.gradle里修改如下:

然后在Gradle Task里选择app -> Tasks -> build -> assembleRelease,发布release版本的apk。

2.生成Tinker Patch包

当你修改了什么小bug,需要发布一个版本,就直接app -> Tasks -> tinker-> tinkerPatchRelease,之后会在outputs里有一个patch_signed_7zip.apk,把这个上传到TinkerPatch网上就行了。

关于注册TInkerPatach账号可以参考:http://www.tinkerpatch.com/Docs/start

 

更多配置参考TinkerPatch官方文档:http://www.tinkerpatch.com/Docs/SDK

发表评论

电子邮件地址不会被公开。 必填项已用*标注