• 推荐!搬瓦工官方代理,自动更换被封IPJust My Socks

ad

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

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

 

Android热部署

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

 

Tinker介绍

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

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

功能 Tinker QZone AndFix Robust
类替换 yes yes no no
So替换 yes no no no
资源替换 yes yes no no
全平台支持 yes yes no yes
即时生效 no no yes yes
性能损耗 较小 较大 较小 较小
补丁包大小 较小 较大 一般 一般
开发透明 yes yes no no
复杂度 较低 较低 复杂 复杂
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

发表评论

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