微信热更新Tinker的远程版本是使用教程
2017-02-08 11:37
441 查看
一、概述
对于最近的微信的热修复Tinker这项技术已经成为了项目上面比较实用并且是必备的功能,而且对于外包这样需求不
确定的公司更是实用,项目上线以后客户会有一些列的什么这改改文字那里改改的一些小细节的东西,但是要是每次
修改一个小需求就去更新一个版本,在时间上和精力上面都是浪费。好了,不多说本文就只直截了当的介绍微信热更
新的使用!
二、接入Tinker的sdk
对于Tinker具体的介绍我就不多说了在github的wiki上面说的很清楚了,本文具体的根据Tinker的官网来开发,
第一步 添加 gradle 插件依赖buildscript { repositories { jcenter() } dependencies { // TinkerPatch 插件 classpath "com.tinkerpatch.sdk:tinkerpatch-gradle-plugin:1.1.3" } }第二步 集成 TinkerPatch SDK
dependencies { // 若使用annotation需要单独引用,对于tinker的其他库都无需再引用 provided("com.tencent.tinker:tinker-android-anno:1.7.7") compile("com.tinkerpatch.sdk:tinkerpatch-android-sdk:1.1.3") }这里为了更容易的分辨单独写一个gradle,gradle在github上面的直接copy然后再配置自己需要的参数,最后在第二步
的时候引入apply from: 'tinkerpatch.gradle'。
第三步 配置正式的签名
在你app的gradle上面配置正式的签名,代码
第四步 配置Application
这里采用的是reflectApplication
= true 这种方式,注意:reflectApplication = true的状态在tinkerpatch.gradle里面的修改为reflectApplication=true
Application参照github上面的直接copy就ok,这时少一个FetchPatchHandler
这个类直接新建就好
public static final long HOUR_INTERVAL = 3600 * 1000; public static final long HOUR_INTERVAL11 =10*1000; private long checkInterval; /** * 通过handler, 达到按照时间间隔轮训的效果 * @param hour */ public void fetchPatchWithInterval(int hour) { //设置TinkerPatch的时间间隔 TinkerPatch.with().setFetchPatchIntervalByHours(hour); checkInterval = hour * HOUR_INTERVAL11; //立刻尝试去访问,检查是否有更新 sendEmptyMessage(0); } @Override public void handleMessage(Message msg) { super.handleMessage(msg); //这里使用false即可 TinkerPatch.with().fetchPatchUpdate(false); //每隔一段时间都去访问后台, 增加10分钟的buffer时间 sendEmptyMessageDelayed(0, checkInterval + 10 * 60 * 1000); } }第五步
配置AndroidManifest.xml
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 。。。 android:name="自己的Application"最后就可以直接点as的Build/Generate
Signed APK
然后在项目地址的\app\build\bakApk下回生成一个对应的版本,记住一个版本的
名称,并且copy到 'tinkerpatch.gradle'里面的
def baseInfo = "之前正式签名的版本"
def variantName = "release"
appKey = "你的Tinkerid"
到这里就可以直接点击as的左边的gradle/项目名称或者.app/tinker /tinkerPatchRelease
双击
然后在项目地址的\app\build\outputs\tinkerPatch\release\patch_signed_7zip.apk
这个apk文件就是补丁包,直接上传官网就ok
,运行以后就可以查看补丁是否成功
三、最后项目demo的地址
Demo
相关文章推荐
- Android微信Tinker热更新详细使用
- 微信Android热更新Tinker使用详解(星空武哥)
- 微信Android热更新Tinker使用详解(by 星空武哥)
- 微信热更新Tinker 使用及爬坑(一)
- 百度编辑器UEEDITOR使用简单介绍 UEditor表单提交和后台交互详解 最后更新对应的版本:1.2.5.1 教程描述: 富文本编辑器的使用开发中,表单提交有多种场景,编辑器初始化有新增文章和编辑
- 「微信小程序免费辅导教程」24,基础内容组件icon的使用探索与7月26日微信公众平台的更新解读
- Git使用手册/Git教程:git fetch 将远程仓库的分支及分支最新版本代码拉取到本地
- 微信Tinker热更新详细使用
- 最简单的 IntelliJ IDEA 中使用 GitHub 进行版本控制教程(持续更新中)
- IGFrame版本发布更新相关下载【Ver0.2发布!!近期将补全使用教程】
- C#程序版本更新教程之C#实现winform版本升级
- PageAdmin V2.1 20100101版本已发布,请更新到最新版本使用更多功能。
- SDK3.0免证书(iDP)联机调试教程,更新到3.12版本
- windows系统自带远程桌面连接使用教程
- 分布式版本控制工具 Mercurial 使用教程 [转]
- 使用SharedObject缓存游戏框架到本地和版本更新的demo
- svn服务器安装配置,SVN服务器使用教程,版本控制器,svn与apache整合
- 使用NSun(框架)快速开发项目(三)NSun1.0.0.1版本更新
- 使用smarty block功能自定义模板标签(更新版本)
- 在VF中像本地表一样使用ADO远程数据表 VF9.0中使用CursorAdapter更新数据