微信热更新Tinker的远程版本是使用教程

本文详细介绍如何在项目中接入微信Tinker热更新技术,包括SDK集成步骤、正式签名配置、Application配置等,并提供了一个完整的项目demo。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、概述

对于最近的微信的热修复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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值